如何将控制器/动作放在link_to rails 4.1中

时间:2014-10-21 07:26:47

标签: ruby-on-rails ruby-on-rails-4

我有:

<%= button_to '+',{:controller=>"line_items",:action=>'create',:menu_id=> line_item.menu_item,:remote=>true}%>

我为链接添加了相同的代码:

<%= link_to '+',{:controller=>"line_items",:action=>'create',:menu_id=> line_item.menu_item,:remote=>true}%>

但是link_to会将我重定向到line_item_index页面。我希望link_to能像这个按钮一样工作。请帮助我,我是rails的新手。

2 个答案:

答案 0 :(得分:2)

link_to使用http GET作为您正在链接的资源,而button_to使用http POST进行控制器操作。 将:method => :post显式添加到您的link_to标记使其表现为http POST事件

答案 1 :(得分:0)

方法link_to创建链接,方法button_to创建表单。他们不一样。 从button_to您使用带有方法POST的表单并且它可以正常工作,但是使用link_to时您正在使用方法GET,这是一个问题。

要解决此问题,请尝试以下操作:

link_to '+',{:controller=>"line_items",:action=>'create', :menu_id=> line_item.menu_item, :remote=>true, method: :post}

更多解释:

http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to