@messages = Message.find_by_sql("select * from messages
WHERE sender_id = #{current_user.id} OR receiver_id = #{current_user.id}")
или вам не нужно использовать find_by_sql
, вы можете сделать это как
@messages = Message.find(:all, :conditions => ["sender_id = ? or
receiver_id = ?", current_user.id, current_user.id]);
это вернет массив соответствующих условий, упорядоченных по идентификатору по умолчанию. Помните, что идентификатор автоматически создается и увеличивается, так что последнее сообщение будет иметь самый высокий идентификатор, чтобы вы могли получить последнее сообщение, как показано ниже
@last_message = @messages.last