ユーザーは複数のメッセージを持つことができます:
class User < ActiveRecord::Base
has_many :messages, :foreign_key => "publisher_id"
end
最新のメッセージ時間を取得するには、次のようにします。
class User < ActiveRecord::Base
def last_message_time
last_message = messages.max{ |m1, m2| m1.created_at <=> m2.created_at }
last_message ? last_message.created_at : nil
end
end
何らかの理由で、これを行うためのより良い方法があると確信しています。
これをどのように行いますか?