是否可以在 rails 邮件程序的主题中使用实例或变量,请问如何:)

is it possible to use an instance or variable in the subject of rails mailer and how please :)

我想在邮件主题中使用如下所示的实例或变量。 所以我想获取主题中的用户名或其他一些用户详细信息,我尝试了几件事,但每次都收到错误消息。我也找不到关于这个的文档。

    mail(:to => "test@gmail, :subject => "current_user.name") or "<%= current_user.name %>"


class PositionMailer < ActionMailer::Base
  default from: "test@gmail.com"
  layout 'mailer'

  def general_message(position, barge_name)

    @position = position
    @barge_name = barge_name


    mail(:to => "1234@gmail.com, :subject => "#{barge_name}")
  end
end

控制器

  def create
    @position = Position.new(position_params)
    if @position.save!
      redirect_to @position
      PositionMailer.general_message(@position, @barge_name).deliver

要在引号内传递变量,您需要这样做 "#{variable.value}

:subject => "#{current_user.name}" 

如果它可以访问 current_user

就应该这样做

您必须将 current_user 连同位置值一起传递给邮件程序。

因此,无论您从 add current_user 调用它的什么地方,都可能看起来像这样。

PositionMailer.general_message(position, current_user).deliver