Action Mailer,向我向其发送消息的用户发送电子邮件
Action Mailer, sending email to user to whom I sent a message
Action Mailer 可以与其他模型一起正常工作。但是我有一个棘手的模型可以避免这种情况。因此用户可以看到另一个用户的个人资料。在该个人资料上,用户可以向其他用户发送消息。此消息通过此链接到其他用户:
控制器:
def create
@message = current_user.messages.build(message_params)
@user = User.find(params[:user_id])
@message.gotten_id = @user.id
虽然它本身运行良好,但事实证明很难与 Action Mailer 代码一起使用:
控制器继续:
if @message.save
UserMailer.with(message: @message).new_message.deliver_later
邮件控制器:
def new_message
@message = params[:message]
mail(to: @message.gotten_id.user.email, subject:"You have a new message!")
end
在我使用的其他模型中,例如@comment.post.user.email
。效果很好。
上面的代码当然不行。我会很感激任何想法。
由于您使用的是 id,因此您需要通过它找到用户
mail(to: User.find(@message.gotten_id).email, subject:"You have a new message!")
Action Mailer 可以与其他模型一起正常工作。但是我有一个棘手的模型可以避免这种情况。因此用户可以看到另一个用户的个人资料。在该个人资料上,用户可以向其他用户发送消息。此消息通过此链接到其他用户:
控制器:
def create
@message = current_user.messages.build(message_params)
@user = User.find(params[:user_id])
@message.gotten_id = @user.id
虽然它本身运行良好,但事实证明很难与 Action Mailer 代码一起使用:
控制器继续:
if @message.save
UserMailer.with(message: @message).new_message.deliver_later
邮件控制器:
def new_message
@message = params[:message]
mail(to: @message.gotten_id.user.email, subject:"You have a new message!")
end
在我使用的其他模型中,例如@comment.post.user.email
。效果很好。
上面的代码当然不行。我会很感激任何想法。
由于您使用的是 id,因此您需要通过它找到用户
mail(to: User.find(@message.gotten_id).email, subject:"You have a new message!")