我正在使用Ruby on Rails 3,我想在我的控制器文件中声明一个动作方法,以便在我的视图文件中我可以使用如下内容:
link_to("Delete", posts_path(@post.id), :method => :delete)
也就是说,要有一个链接,以便我可以“直接”调用并在我的控制器中运行一个动作方法。
在上面的代码中,可以调用添加destroy
的{{1}}方法。
答案 0 :(得分:3)
你可以尝试这个。它适用于我的情况。
<%= link_to(t(:delete), :action => 'destroy', :method => :delete, :id => @post.id ) %>
答案 1 :(得分:0)
我会坚持你的意见建议,但语法是:
<%= link_to "Delete", {:action => 'delete', :id => @post.id} %>
答案 2 :(得分:0)
将posts_path
更改为post_path
:
<%= link_to 'Destroy', post_path(post), :confirm => 'Are you sure?', :method => :delete %>
或者,甚至更好,
<%= link_to 'Destroy', post, :confirm => 'Are you sure?', :method => :delete %>
此外,要链接到其他操作,请为其添加路线,
例如resources :posts, :member => [:mycustomaction]
并在您的观看中<%= link_to("foobar", mycustomaction_post_path(post) %>