2017-05-07 4 views
0

Je tente actuellement de supprimer un message via le lienSupprimer le post redirect au poste

<%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } 

Le problème est que quand je clique dessus, au lieu de détruire le poste, il est me rediriger vers le spectacle vue de la poste.

Voici mon index.html.erb

<table> 
<tr> 
    <th>titre</th> 
    <th>description</th> 
</tr> 
<% @posts.each do |post| %> 
<tr> 
    <td><%= post.title %></td> 
    <td><%= post.description %></td> 
    <td><%= link_to 'Show', post_path(post)%> </td> 
    <td><%= link_to 'Edit', edit_post_path(post) %></td> 
    <td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } %></td> 
</tr> 
<br> 

Et voici mon contrôleur posts.controller

class PostsController < ApplicationController 

    before_action :set_post, except: [:create, :index, :new] 
    def index 
    @posts = Post.all 
    end 

    def show 
    end 

    def new 
    @post = Post.new 
    end 

    def edit 
    end 

    def create 
    @post = Post.new(post_params) 
    @post.save 
    redirect_to :action => "index" 
    end 

    def update 
    respond_to do |format| 
     if @post.update(post_params) 
     format.html { redirect_to @post, notice: 'Lime was successfully updated.' } 
     else 
    format.html { render :edit } 
     end 
    end 
    end 

    def destroy 
    @post.destroy 
    redirect_to root_path, :notice => "Vous n'êtes plus un batard" 
    end 

    private #private has nos end 

    #Must be set to update later 
    def set_post 
     @post = Post.find(params[:id]) 
    end 

    def post_params 
     params.require(:post).permit(:title, :description) 
    end 
end 

Thx pour aider

+3

Avez-vous '// = require jquery' et' // = require jquery_ujs' inclus dans votre 'application.js'? Et 'application.js' est-il inclus dans' view/layout/application.html.erb'? –

+0

Je viens d'ajouter // = require jquery_ujs. C'est savoir effacer correctement merci mec! – Che

+0

J'ai ajouté la solution comme réponse. –

Répondre

2

Assurez-vous que vous avez //= require jquery et //= require jquery_ujs inclus dans votre application.js An d include application.js inclus dans view/layout/application.html.erb