我如何在rails上多次提交一个参数



我有Users和Interests,它们通过interests_users表与has_and_belongs_to_many关系相关联。我想做的是让用户通过复选框创建帐户时选择5个兴趣,但我现在不知道如何在同一表单中提交相同的参数5次,我目前正在提交复选框,但兴趣不是布尔值。现在的代码是这样的:

<div class = "field">
<%= f.label :interests %><br>
<% all_interests = Interest.all.map{ |f| [f.name, f.id] } %>
<% all_interests.each do |interest| %>
  <p> <%= interest[0] %>  <%= f.check_box :interests %> <p>
<% end %>
</div>

在视图中使用流动

<% for interest in Interest.all %>
    <%= check_box_tag "user[interest_ids][]", interest.id, @user.interests.include?(interest) %>
    <%= interest.name %>
<% end %>

在控制器中接受如下参数

  params.require(:user).permit( { interest_ids:[] })

您应该试试下面的代码:

<div class = "field">
  <%= f.label :interests %><br>
  <% Interest.all.each do |interest| %>
    <p> <%= interest.name %>  <%= f.check_box :interests, { :multiple => true }, interest.id, nil %> </p>
  <% end %>
</div>

相关内容

  • 没有找到相关文章

最新更新