rails 3,复选框关联表

时间:2011-08-16 16:51:08

标签: ruby-on-rails-3

我有模型用户,type_users和details_users。用户可能有许多type_users,type_users可能有很多用户。用户的表格是:

  <div class="field">
    <%= f.label :name %>
    <%= f.text_field :name %>
  </div>

  <div class="field">
    <%= f.label :last_name %>
    <%= f.text_field :last_name %>
  </div>
   <div class="field">
    <% for type_user in TypeUser.all %>
    <div>
      <%= check_box_tag "typeuser[typeuser_ids][]", typeuser.id  %>
      <%= typeuser.name %>
    </div>
    <% end %>
  </div>

我的问题是:

如何保存用户(表用户)和所选用户类型(表type_users),将用户保存在一个表(表用户)中,以及另一个表上的用户类型(table details_users)?

1 个答案:

答案 0 :(得分:2)

我假设您在DetailsUser表中有 user_id typeuser_id 字段, 在用户控制器中,在“if @ user.save”执行此操作后创建

if @user.save
typeusers = params[:typeuser][:typeuser_ids]
length = typeusers.length
length.times.with_index do |i|
DetailsUser.create(:user_id => @user.id, :typeuser_id => typeusers[i])
end