我有这样的方法:
gamer.rb
def approve_gamer(type)
where(type: type).last.update(status: 'approved')
end
我希望为每种类型设置一个按钮来调用approve_gamer('type')
。
应该是button_to [:approve_gamer, gamer]
还是link_to ... class: "btn btn-default"
?如何在那里传递类型参数?
答案 0 :(得分:0)
我使用button_to
帮助器,因为我不会通过GET调用数据更改方法。
button_to
围绕按钮创建表单并通过POST发送数据。
更多内容请阅读:http://apidock.com/rails/ActionView/Helpers/UrlHelper/button_to
您也可以自己设置表单:
<%= form_for gamer, :url => { :action => 'approve' } do |f| %>
<%= f.hidden_field('type', :value => type_goes_here) %>
<%= button_tag 'Approve', class: 'btn btn-default' %>
<% end %>
您调用的方法应该在gamers_controller
中。
您也可以简单地为游戏玩家调用编辑方法并设置参数。
如果你调用方法approve
,你也必须设置路线。