如何使用has_many关联保存checkbox数组值

时间:2014-01-02 10:37:17

标签: ruby-on-rails activerecord associations

在我的注册表单中,我有以下复选框

   <% for subject in Subject.find(:all) %>
        <%= check_box_tag "regist[subject_id][]", subject.id %>
        <%= subject.name %><br>
    <% end %>

这里的关联是

regist.rb
belongs_to :subject
subject.rb
has_many :regists

我观看了有关has_many和has_and_belongs_to的铁路视频,我可以使用这两个关联来完成此操作,但我需要为has_many关联执行此操作而不使用直通。

我尝试了这个并显示Regist was successfully created,但表中只添加了1,但我发送了一个选定字段数组。怎么能保存这个?

1 个答案:

答案 0 :(得分:1)

我假设您正在使用此railscast? 据我所知,你在check_box_tag中只指定了一个subject_id而不是多个subject_id。

试试这个

   <% for subject in Subject.find(:all) %>
        <%= check_box_tag "regist[subject_ids][]", subject.id %>
        <%= subject.name %><br>
    <% end %>