如何通过simple_form hidden_​​field paramer来创建动作

时间:2015-06-24 23:00:53

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

我无法将simple_form的hidden_​​field中定义的参数传递给create动作。在我们的应用程序中,用户通过会员资格进行了许多投注。成员列包括bet_id,user_id,accepted:boolean和against:boolean。会员的反对列表示用户是否正在下注或下注。在特定投注的视图中,没有会员资格的用户可以选择"同意"或"反对",这将创建一个具有适当接受的新成员资格:布尔值。以下是投注展示页面中找到的表格。

    <%= simple_form_for([@bet, @bet.memberships.build]) do |f| %>
      <%= f.hidden_field :against, against: false %>
      <%= f.button :submit, "Agree!" %>
    <% end %>

    <%= simple_form_for([@bet, @bet.memberships.build]) do |f| %>
      <%= f.hidden_field :against, against: true %>
      <%= f.button :submit, "Against!" %>
    <% end %>

以下是尝试创建操作

def create
  @membership = current_user.memberships.build(bet_id: params[:bet_id], against: params[:against], accepted: :false)
  redirect_to :back
end

目前这只是将接受的值保留为零。真的很感激任何帮助!感谢

1 个答案:

答案 0 :(得分:4)

尝试使用:

<%= f.hidden_field :against, value: false %>