協會我有四個模型類:的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