动态电子邮件主题和数据库正文

时间:2013-06-07 10:16:05

标签: ruby-on-rails ruby-on-rails-3 string eval

在我的管理网站中,我想要可编辑的

数据库文本中的动态主题。

mailer = MailTemplate.find_by_template_name('friend_request')
# mailer.subject = "#{@user.username} wants to be friend on site.com"

我必须使用以下代码:

mail(:to => friend.email, :subject => mailer.subject) do |format|
  format.text { render :inline => nl2br(mailer.body) }
  format.html { render :inline => nl2br(mailer.body) }
end

现在,我发现正文与动态代码正常工作。但是SUBJECT没有合作 对于mailer.subject

这样的值,我需要"#{@user.username} wants to be friend on SportsPundit.com"

请建议。我也试过了eval(mailer.subject)

1 个答案:

答案 0 :(得分:1)

考虑使用不同的模板语言,这样您就不会向用户公开ruby。把手可能是个不错的选择。

在MailTemplate对象中,主题为

"{{ user/username }} wants to be friend on site.com"

然后你将使用把手 - 轨道或其他一些lib渲染它,在把手模板中将@user作为user传递。这对普通用户来说更好,因此他们不会看红宝石。