这个问题已被多次询问,但我无法预测任何有关我具体情况的答案,所以就这样了。
我有一个events
,options
和一个templates
表。还有一个名为events_templates
的连接表,其字段为:
事件每个选项都有一个模板。但显然可以有很多模板,因为有多种选择。
目前我的event
模型有方法
has_many :templates, class_name: "EventsTemplate"
问题是,这是正确的设置还是我应该使用HABTM?
非常感谢!
答案 0 :(得分:1)
我认为你应该根据你指定的要求将它设置得有点不同。
has_many :templates, class_name: "EventsTemplate"
这不会按照你想要的方式工作。它将为事件提供关联模板,但调用该关联将返回EventTemplates。
您可能希望使用through
关联进行设置。
class EventTemplate < ActiveRecord::Base
belongs_to :option
belongs_to :template
belongs_to :event
end
class Event
has_many :event_templates
has_many :templates, through: :event_templates
end