我正在开发Mailboxer gem的实现,但是我在显示消息方面遇到了问题。 这是我保存已发送消息的操作:
#MessagesController
def create
# current_user - ID: 253
# @user - ID: 1
@user = User.find(params[:user_id])
send_message = current_user.send_message(@user, params[:message][:body], params[:message][:subject]).conversation
puts send_message.inspect
redirect_to messages_url
end
send_message 的输出为
#<Receipt id: nil, receiver_id: 253, receiver_type: "User", notification_id: nil, is_read: true, trashed: false, deleted: false, mailbox_type: "sentbox", created_at: nil, updated_at: nil>
不应该是 receiver_id #1吗? 另外,这些数据存储在哪里,哪个表?
当我显示已发送的消息( current_user.mailbox.sentbox )时,我看不到我刚发出的消息。 当我以ID为1的用户身份登录时,我也看不到收到的消息。
我做错了什么?
谢谢
答案 0 :(得分:1)
在创建操作时,为什么不确保params[:message][:body]
和params[:message][:subject]
具有有效值,如果没有,则提供默认值。
要回答有关数据存储位置的问题,您的数据库将包含以下表格:收据,通知和对话。通知有一个conversation_id,收据有一个notification_id。