行,所以我有我的模型,像这样:在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