0
如果一個用戶有很多東西,而某個東西有很多統計信息,看起來只有Rails-y的方式來通過用戶公開統計信息。通過父項暴露has_many - > has_many的關聯?
class User < ActiveRecord::Base
has_many :things do
def stats
Stat.where(thing_id: proxy_association.owner.things_id)
end
end
end
class Thing < ActiveRecord::Base
belongs_to :user
has_many :stats
end
class Stat < ActiveRecord::Base
belongs_to :thing
has_one :user, through: :thing
end
User.first.things.stats == Stat.where(thing_id: User.first.thing_ids)
我試圖確定是否有任何其他選項。有人在我的球隊抱怨,這不自然的感覺。我覺得這是你可以設計的關係中最自然的表達。
有沒有人有更好的建議?我會說,我嘗試過實例方法,但他們聞不到對。
衛生署! ...我以爲我試過了,失敗了。可能不會 :/ –