我正在尝试使用 Mailboxer 向用户发送通知,并且我需要传递一个对象,该对象将影响通知在导航栏的通知下拉列表中的显示方式。
@recipient.notify("#{current_user.name} needs you to review his help with: #{@offer.title}", "#{@message}", @offer)
最后一个参数是我试图传递对象的地方,@offer
.
这是我正在尝试使用的 Mailboxer 方法:
def notify(subject,body,obj = nil,sanitize_text=true,notification_code=nil,send_mail=true)
Mailboxer::Notification.notify_all([self],subject,body,obj,sanitize_text,notification_code,send_mail)
end
它调用这个notify_all
方法:
def notify_all(recipients, subject, body, obj = nil, sanitize_text = true, notification_code=nil, send_mail=true)
notification = Mailboxer::NotificationBuilder.new({
:recipients => recipients,
:subject => subject,
:body => body,
:notified_object => obj,
:notification_code => notification_code
}).build
notification.deliver sanitize_text, send_mail
end
当我尝试使用 this: 访问对象时<%= notification.object_id %>
,我得到一个长数字,例如205981093
. 如果我尝试使用以下方法访问offer
对象的字段之一,则会出现错误:<%= notification.object_id.title %>
`undefined method `title' for 2166878920:Fixnum`
我什至不确定这是否是使用邮箱通知的方式。我很难找到有关它们的信息。任何帮助是极大的赞赏。