我为收件箱消息创建了一个删除文件夹,页面仍然空白。它应该显示消息'recipient_deleted'。当收件人删除邮件时,数据库中的值为“recipient_deleted”列的 1。当发件人删除该邮件时,该邮件将从数据库中完全删除,这将显示“sender_deleted”列的 1。
垃圾.html:
<% for message in @messages.recipient_deleted %>
我为收件箱消息创建了一个删除文件夹,页面仍然空白。它应该显示消息'recipient_deleted'。当收件人删除邮件时,数据库中的值为“recipient_deleted”列的 1。当发件人删除该邮件时,该邮件将从数据库中完全删除,这将显示“sender_deleted”列的 1。
垃圾.html:
<% for message in @messages.recipient_deleted %>
从我看到的代码很好。您的页面显示为空白,这意味着您需要呈现删除文件夹。为您的收件箱创建一个elsif params
指向删除文件夹的文件夹。然后为删除文件夹渲染一个部分。那应该让页面显示。
改变:
<% for message in @messages.recipient_deleted %>
至
<% for message in @messages %>
科尼利厄斯,
首先,在 deleted_messages 下,您没有将其范围限定为特定用户。
其次,我不确定您的用户和消息模型中是否存在关系,但您应该从您发布的代码中获取。如果您的 message.rb 模型中没有“user_id”字段,则应通过迁移添加它。
within app/models/user.rb
has_many :messages
within app/models/message.rb
belongs_to :user
这很重要的原因是您将能够编写以下代码:
在 user.rb 中
def deleted_messages
messages.where(recipient_deleted: 1)
end
def sent_messages
messages.where(sent_by: self.id)
end
def received_messages
messages.where(received_by: self.id)
end
如果您想在定义关系之后查看用户的消息。你只需要写:
<<instance of user>>.messages
eg. current_user.messages
eg. @user.messages