Пользователь может иметь несколько сообщений:
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
Почему-то я уверен, что есть лучший способ сделать это.
Как бы вы это сделали?