我对 Rails 和 ActiveRecord 还很陌生,我正在尝试找到对数据建模的正确方法。
我正在构建一个应用程序,让我们的游泳教练制定一个课程计划,显示他们将教授他们的课程的技能以及他们将使用哪些活动来教授每项技能。一个计划可以包含许多技能,每个技能可以有许多与之相关的活动。
在“计划”表单上,有一个用于技能-活动组合的小部件。在其中,用户应该能够从下拉列表中选择一项技能,并为所选技能从列表中选择多个活动。此小部件可以在表单上重复任意次数。
我现在的型号:
Class Plan
has_many :plan_activities
end
Class PlanActivities
belongs_to :plan
belongs_to :skill
has_and_belongs_to_many :activities
end
Class Skill
end
Class Activity
end
Run Code Online (Sandbox Code Playgroud)
这个模型正确吗?我的问题是accepts_nested_attributes_for 不适用于HABTM 关联。我读过我可以通过 has_many 替换它:,但这意味着向图片添加另一个连接模型。只是看起来有点太丑了。有一个更好的方法吗?
编辑:
我的技能和活动采用列表形式,我应该能够在多个计划中包含相同的技能和/或活动。