Как я могу найти несоответствующее значение между двумя элементами в массиве в Rails 3?

#ruby-on-rails #arrays

#ruby-on-rails #массивы

Вопрос:

У меня есть одно сообщение.

Каждое сообщение содержит два объекта User_Message

User_Message.user_id для одного совпадает с current_user.id . другой — это другое.

Как мне найти «другое» значение и вывести его?

У моего контроллера есть @messages, который представляет собой все сообщения.

Я отображаю каждое сообщение в представлении, используйте @message.сделайте цикл.

Но я не нашел хорошей логики, я попробовал следующее:

 1   def other_party(current_user)
 12     um = self.user_messages
 13     um.each do |user_message|
 14       debugger
 15       other_user = User.find(user_message.user_id) unless user_message.user_id == current_us    er.id
 16     end
 17 
 18     other_user 
 19   end
  

Но это не работает.

Ответ №1:

 def other_party(current_user)
   um = self.user_messages.find(:first,:conditions => ["user_id != ?",current_user.id])
   other_user = User.find(um.user_id)
end