协会我有四个模型类:的has_many:通过通过两个不同的协会
class Group < ActiveRecord::Base
has_many :projects
has_many :personal_blogs
end
class Project < ActiveRecord::Base
has_many :events, :as => :event_producer
end
class PersonalBlog < ActiveRecord::Base
has_many :events, :as => :event_producer
end
class Event < ActiveRecord::Base
belongs_to :event_producer, :polymorphic => true
end
我想找到的所有事件的特定组。我认为这是一个has_many:通过关联,但是我如何在Group上指定has_many来查找组中的所有事件或 personal_blogs?当然,我可以指定两个关联并连接结果,但是接下来我必须在Ruby中重新排序,限制,条件等,这可能会成为许多事件的性能噩梦。我想在ActiveRecord中做到这一点,以避免这样的噩梦。
这不适合我实际的工作,因为我需要将搜索限制在某一特定群体。对组的引用在连接中是多态的,这使得SQL变得相当复杂。 – wolak 2010-03-01 00:41:45
这实际上受Group限制。请注意,我正在使用已经过滤掉不属于实际组的项目和personal_blog的“project_ids”和“personal_blog_ids”集合。 – fjuan 2010-03-01 08:57:02