я пытаюсь получить доступ к некоторым вложенным атрибутам в частичке рельсов;позвольте мне объяснить мою проблему:
я написал простую службу обмена сообщениями в соответствии с руководством Даны Малдер, о котором я упоминал в другом моем вопросе.user
has_many conversations
и conversation
has_many messages
.у каждого разговора есть получатель и отправитель, а каждое сообщение имеет логическое значение read
, которое по умолчанию установлено на false
.
я пытаюсь написать простую функцию, которая перебирает каждое сообщение, полученное пользователем в разговоре, в котором он участвует, проверяет, прочитано ли последнее сообщение, полученное пользователем в беседе, == trueи не отправить самому, чтобы отобразить небольшую ручку рядом со ссылкой «сообщения» в навигации моего приложения.
То, что я в основном хочу проверить (несколько строк для лучшей читаемости):
<%= if current_user.conversations.all.messages.last.user_id != current_user.id && current_user.conversations.all.messages.last.read == false %>
Message link with bubble beside it
<% else %>
Message link
<% end %>
Этот синтаксис не работает. Как можно перебирать каждый диалог, в который вовлечен пользователь, проверить последнее сообщение каждого разговора, если оно написано этим пользователем, и если нет, если оно уже прочитано?
пока работает что-то вроде Conversation.last.messages.last.content
, current_user.conversations.all.messages.last.content
не работает .. я немного сбиваю с толку, как работает доступность моделей рельсов.
заранее спасибо!Я надеюсь, что объяснил мне достаточно хорошо.
С наилучшими пожеланиями