根据发件人有条件地呈现电子邮件文本
Render email text conditionally based on who sent it
用户可以接受项目,或者管理员用户可以代表他们接受。无论发件人是谁,都会发送一封电子邮件。当管理员触发发送时,我希望电子邮件的内容有所不同。
ApplicationController
中有一个 current_user
方法。当 current_user.admin?
的计算结果为 true
时,我想做点别的事情。
如何从邮件程序的视图模板或 *_mailer.rb 本身访问 current_user
?
我也愿意使用 controller/action 名称。例如,if controller_name == "Admin"
。它会让我们到达那里,但这种方法在邮件程序中也不可用。
只需在创建新递送时将 current_user
传递给邮寄者:
YourMailer.conditional_creation_email(current_user).deliver_now
在your_mailer.rb
def conditional_creation_email(sender)
if sender.admin?
# do...
mail(to: '@gmail.com', subject: 'New Order')
end
end
用户可以接受项目,或者管理员用户可以代表他们接受。无论发件人是谁,都会发送一封电子邮件。当管理员触发发送时,我希望电子邮件的内容有所不同。
ApplicationController
中有一个 current_user
方法。当 current_user.admin?
的计算结果为 true
时,我想做点别的事情。
如何从邮件程序的视图模板或 *_mailer.rb 本身访问 current_user
?
我也愿意使用 controller/action 名称。例如,if controller_name == "Admin"
。它会让我们到达那里,但这种方法在邮件程序中也不可用。
只需在创建新递送时将 current_user
传递给邮寄者:
YourMailer.conditional_creation_email(current_user).deliver_now
在your_mailer.rb
def conditional_creation_email(sender)
if sender.admin?
# do...
mail(to: '@gmail.com', subject: 'New Order')
end
end