行,所以我有我的模型,像這樣:在Model.calculate方法中使用屬性?
Team
has_many :users, :through => memberships
User
has_one :user_status
現在在我的團隊模式,我希望能夠找到我的'user_status'
車型的最大'updated_at'
值。
我試圖做這樣的事情:
Team
has_many :users, :through => :memberships
has_many :user_statuses, :through => :users
def max_last_updated_status
user_statuses.maximum(:updated_at)
end
但是這給了我:
Invalid source reflection macro :has_one for has_many :user_statuses, :through => :users. Use :source to specify...
所以我想知道是否有這樣做的更好的辦法,我能創造的一個屬性用戶模型,如:
def status_updated_at
user_status.updated_at
end
,然後改變我的Team類有:
def max_last_updated_status
user.maximum(:status_updated_at)
end
?我假設不是因爲'status_updated_at'
不是真正的列,所以SQL代將會失敗...
對這個問題的另一個觀點將不勝感激。
哦,我沒有意識到你可以這樣做,但當你添加包含時,它當然是有意義的,我可以看到SQL是如何生成的。非常感謝! – neiled 2009-08-26 18:58:51