Вопрос: Как сделать так, чтобы «Сообщение не читалось» отображалось рядом с каждым сообщением в моем почтовом ящике?
Я создал внутреннюю почтовую систему для своего приложения, используя гем почтового ящика. Моя проблема заключается в том, что когда я захожу в раздел «Входящие» и просматриваю все сообщения, отправленные на мою учетную запись, я хочу видеть, какие сообщения я не прочитал.
Мой код:
<div class="media-body">
<h4 class="media-heading">
<b> Sender: </b> <%= conversation.originator.username %> <br>
</h4>
<small><b>Subject: </b><%= conversation.subject %></small><br>
<small><b>Date: </b><%= conversation.messages.last.created_at.strftime("%A, %b %d, %Y at %I:%M%p") %></small><br>
<b> Recent message: </b> <%= truncate conversation.messages.last.body, length: 145 %>
<%= link_to "View", conversation_path(conversation) %>
</div>
Этот код работает с сообщениями в папке входящих сообщений, какие из них не прочитаны, и подсчитывает их, чтобы я знал, какие сообщения не читаются.
module MailboxHelper
def unread_messages_count
# how to get the number of unread messages for the current user
# using mailboxer
mailbox.inbox(:unread => true).count(:id, :distinct => true)
end
end
Единственное, что я могу определить в схеме, сгенерированной гемом почтового ящика, - это логическое значение is_read:
create_table "mailboxer_receipts", force: :cascade do |t|
t.integer "receiver_id"
t.string "receiver_type"
t.integer "notification_id", null: false
t.boolean "is_read", default: false
t.boolean "trashed", default: false
t.boolean "deleted", default: false
t.string "mailbox_type", limit: 25
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.boolean "is_delivered", default: false
t.string "delivery_method"
t.string "message_id"
end
Полагаю, исходя из этой информации, я не уверен, как связать все вместе, поэтому, когда я нахожусь в представлении входящих сообщений и вижу все свои сообщения, я хочу, чтобы "Не читалось" или что-то появлялось для каждого сообщения в Входящие Как я мог это сделать?
Кроме того, какая другая информация вам требуется? Gem почтового ящика уже сгенерировал довольно много кода, но я не был уверен, что относится к этому вопросу.