【发布时间】:2011-10-23 06:03:47
【问题描述】:
一个Person 可以有多个Events,每个Event 可以有一个多态Eventable 记录。如何指定Person 和Eventable 记录之间的关系?
这是我拥有的模型:
class Event < ActiveRecord::Base
belongs_to :person
belongs_to :eventable, :polymorphic => true
end
class Meal < ActiveRecord::Base
has_one :event, :as => eventable
end
class Workout < ActiveRecord::Base
has_one :event, :as => eventable
end
主要问题与Person 类有关:
class Person < ActiveRecord::Base
has_many :events
has_many :eventables, :through => :events # is this correct???
end
我会像上面那样说has_many :eventables, :through => :events吗?
或者我必须像这样拼写出来:
has_many :meals, :through => :events
has_many :workouts, :through => :events
如果您发现了一种更简单的方法来完成我所追求的目标,我会全力以赴! :-)
【问题讨论】:
-
+1 用于提出一个没有 75 行代码且仅与您的特定项目相关的问题。
标签: ruby-on-rails activerecord has-many-through polymorphic-associations