【发布时间】:2013-07-30 13:42:08
【问题描述】:
如何在两个模型之间的has_and_belongs_to_many 表中添加多条记录?
到目前为止,我所能做的就是创建一条记录,然后更新该记录。我想向联接表中添加多条记录。
现在我有一个collection_select,但是update方法只允许我更新记录,不能添加新记录。
我最好的猜测是在组控制器的更新方法中添加类似@group.workouts << workout_id 的内容,但我不知道如何让它工作。
我在正确的轨道上吗?
我正在尝试将锻炼添加到组和组到锻炼。
感谢您的帮助!
编辑 1:
我有一个collection_select,它允许我将一条记录添加到连接表中,但我正在尝试弄清楚如何将第二条、第三条等记录添加到连接表中。我的collection_select 是:
<div class="field">
<%= f.collection_select 'workout_ids', Workout.all, :id, :name, { :include_blank => ""} %>
</div>
很简单,我想将锻炼添加到一个组中,我可以做到。然后我想在同一组中添加另一个锻炼,然后是另一个,等等。
【问题讨论】:
-
您正在寻找 has_many :through。我不确定你是否可以用 HABTM 做到这一点
-
您可以使用 HABTM 做到这一点。您只需要一个集合选择,或其他关联选择工具。
-
我刚刚更新了我的问题。我可以使用 collection_select 添加一条记录,但我尝试在添加第一条记录后添加其他记录。
-
使用 multiple: true 选项也可以解决问题。
标签: ruby-on-rails has-and-belongs-to-many