单Table 继承还是多态?
Single Table Inheritance or Polymorphic?
所以我有一个看起来像这样的数据库结构:
事件:
event_id: :integer
event_type: :string
name: :string
slug: :string
user_id: :integer
start: :datetime
finish: :datetime
我需要从事件继承的婚礼:
bride_name: :string
groom_name: :string
street: :string
city: :string
state: :string
zip: :integer
receptions: :text
我希望能够创建一个婚礼或与此相关的任何其他事件,并让它继承事件模型中所有事件的共同特征。当我尝试使用 STI 执行此操作时,Wedding 模型仅具有 Event 模型的特征。我该如何实施?
这行不通
class Wedding < Event
attr_accessor :receptions, :reception_name, :reception_address, :reception_city, :reception_state, :reception_zip
end
由于 Rails 仅支持开箱即用的 STI,如果您真的想要 MTI,可以试一试 ActiveRecord::ActsAs gem。
他们的跟踪器中有几个未解决的问题,但开发似乎有些活跃。
所以我有一个看起来像这样的数据库结构:
事件:
event_id: :integer
event_type: :string
name: :string
slug: :string
user_id: :integer
start: :datetime
finish: :datetime
我需要从事件继承的婚礼:
bride_name: :string
groom_name: :string
street: :string
city: :string
state: :string
zip: :integer
receptions: :text
我希望能够创建一个婚礼或与此相关的任何其他事件,并让它继承事件模型中所有事件的共同特征。当我尝试使用 STI 执行此操作时,Wedding 模型仅具有 Event 模型的特征。我该如何实施?
这行不通
class Wedding < Event
attr_accessor :receptions, :reception_name, :reception_address, :reception_city, :reception_state, :reception_zip
end
由于 Rails 仅支持开箱即用的 STI,如果您真的想要 MTI,可以试一试 ActiveRecord::ActsAs gem。
他们的跟踪器中有几个未解决的问题,但开发似乎有些活跃。