从'link_to'调用自定义控制器操作方法

时间:2011-03-25 17:12:43

标签: ruby-on-rails ruby ruby-on-rails-3 methods hyperlink

我正在使用Ruby on Rails 3,我想在我的控制器文件中声明一个动作方法,以便在我的视图文件中我可以使用如下内容:

link_to("Delete", posts_path(@post.id), :method => :delete)

也就是说,要有一个链接,以便我可以“直接”调用并在我的控制器中运行一个动作方法。

在上面的代码中,可以调用添加destroy的{​​{1}}方法。

3 个答案:

答案 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) %>