2016-03-06 37 views
0

我無法獲得銷燬方法的工作。當我點擊刪除時,沒有任何反應。沒有確認彈出,帖子不會被刪除。 在控制器的方法:紅寶石在軌道上摧毀不起作用

def destroy 
    @post = Post.find(params[:id]) 
    @post.destroy 
    redirect_to posts_path, :notice => "Your post has been deleted successfully." 
end 

的視圖:

<%= link_to "Delete post", @post, data: { confirm: "Are you sure?" }, :method => :delete %> 

渲染HTML:

<a data-confirm="Are you sure?" rel="nofollow" data-method="delete" href="/posts/8">Delete post</a> 

application.html.erb文件是作爲ROR創建它:

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <title>Myrubyblog</title> 
 
    <%= stylesheet_link_tag 'application', media: 'all', 'dataturbolinks-track' => true %> 
 
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
 
    <%= csrf_meta_tags %> 
 
</head> 
 
<body> 
 

 
<% flash.each do |key, value| %> 
 
<p><%= value %></p> 
 
<% end %> 
 
<%= yield %> 
 

 
</body> 
 
</html>

編輯和其他一切工作正常。任何想法,使這項工作?謝謝

已解決! 問題出在application.html.erb文件javascript_include_tag中。當我開始這個項目時,我得到了'Pages#home'中的'Rails ExecJS :: ProgramError',所以我將javascript_include_tag'application'更改爲'default'(正如人們在此線程中所說的stackoverflow.com/questions/28421547/...)。現在我將它更新爲「應用程序」,並按照它的設想運行。謝謝,凱文!

+0

是安裝了,你有''jQuery的rails''寶石? –

+0

看看這是否有助於你:http://stackoverflow.com/a/15800485/1120015 –

+0

你可以看到你的控制檯是否有任何JavaScript錯誤。 – Carpetsmoker

回答

1

試試這個

<%= link_to 'Delete post', @post, method: :delete, data: { confirm: 'Are you sure?' } %> 
+0

使其成爲實例變量'@ post' –

+0

它是一個實例變量@post。 – Tadas

+0

你提到了一個錯誤:'未定義的方法post'我可以看到,在控制器中它是一個實例變量,但你做link_to實例變量以及? –