从简单形式的复选框中获取ID以在连接表中更新

时间:2014-01-08 22:40:04

标签: ruby-on-rails database checkbox simple-form jointable

我有一个Users表,一个Activities表和一个UsersActivities连接表。活动资​​源嵌套在用户资源下。我有复选框,以便用户可以选择首选活动。我过去保存值的方式一直是使用form_for,但我想用simple_form来做。有任何想法吗?下面的代码就是我过去的做法。

<% if !@categories.nil? %>
    <% @categories.each do |category| %>
      <%= check_box_tag("journal_entry[category_ids][]", category.id, @journal_entry.categories.include?(category))%>
      <%= category.name %>
    <% end %>
  <% end %>

1 个答案:

答案 0 :(得分:0)

同时在用户控制器中提供活动

 <%= simple_form_for current_user do |f| %>
   <%= f.association :activities, as: :check_boxes,collection: Activity.all %>
   <%= f.submit 'Save Preferred Activities' %>

在用户控制器中

def user_params
  params.require(:user).permit(:first_name, :last_name, :email, activity_ids: [])
end