我有一个用户模型(cliens和perfomers),而且cliens也有订单。 Perfomers可以接受这个订单,我需要在订单的显示模板中放置接受按钮。我在节目模板中使用隐藏的表单
<%= form_tag @order, :method => 'get' do %>
<%=hidden_field_tag :order_perfomer_id, current_user.id%>
<%= submit_tag "Accept order"%>
它不起作用。这是错误的方式吗?在控制台中我看到了
Parameters: {"utf8"=>"✓", "order_perfomer_id"=>"3", "commit"=>"Accept order", "id"=>"1"}
有人可以帮忙吗?
答案 0 :(得分:2)
您必须使用form_tag
的form_for内容<%= form_for @order, :method => 'get' do |f| %>
<%= f.hidden_field :order_perfomer_id, value: current_user.id%>
<%= f.submit "Accept order"%>
答案 1 :(得分:1)
对于Rails 4:
<%= f.hidden_field :order_perfomer_id, value: current_user.id %>
Rails 3和2:
<%= f.hidden_field :order_perfomer_id, :value => current_user.id %>
此外,您需要使用form_for代替form_tag,并且您的表单会变为:
<%= form_for @order, :method => 'get' do |f|%>
<%= f.hidden_field :order_perfomer_id, value: current_user.id%>
<%= f.submit "Accept order"%>