我在Ruby on Rails中使用Action Mailer,默认情况下,我知道Action Mailer方法在views/mailers/
文件夹中查找其“默认”模板。
尽管还好,但我的views/mailers/start_campaign.html.erb
文件中有一些文本需要替换。这将是动态的,取决于其他一些因素。因此,在我的Action Mailer中,我基本上是在尝试查看该视图文件并替换所有“参数”,但我缺少了一些东西。
这就是我所拥有的
def campaign_start(smtp_settings, mail_options, campaign)
mail(from: mail_options[:from],
to: mail_options[:to],
subject: mail_options[:subject],
content_type: "text/html"
) do |format|
format.html {render 'start_campaign')}
end
end
def replace_references(body, campaign)
body.gsub! "{{Campaign}}", campaign.name
return body
end
目前,replace_references
方法没有任何反应。我已经尝试过这样的事情:
format.html {render replace_references('start_campaign', campaign)}
,但这没有用。