我正在尝试构建一个字符串,该字符串将作为电子邮件正文传递给UserMailer。
以下是代码:
html_text = ""
topic_object.title = "Example title"
topic_object.body = "Example body"
html_text << 'Visit the page by <a href="http://localhost.com/topic_digests/#{topic_object.slug}>" clicking here</a>.<br>'
html_text << topic_object.title
html_text << topic_object.body
然后我有这一行来发送电子邮件
UserMailer.dynamic_actual_digest(current_user.email, html_text).deliver
我的挑战是我无法使用我需要的网址正确加载clicking here
文字。它没有呈现它。我尝试了link_to,我尝试了双引号,我尝试了<%= topic_object.slug %>
。
我认为麻烦的是,即使我使用link_to
方法或a
html标记,也需要在同一行上使用双引号和单引号。
我错过了什么?
答案 0 :(得分:2)
使用%Q
syntax构建字符串:
html_text = ""
topic_object.title = "Example title"
topic_object.body = "Example body"
html_text << %Q|Visit the page by <a href="http://localhost.com/topic_digests/#{topic_object.slug}>" clicking here</a>.<br>|
html_text << topic_object.title
html_text << topic_object.body
UserMailer.dynamic_actual_digest(current_user.email, html_text).deliver
并尝试在html_safe
:
user_mailer.rb
指令发送明确的html
def dynamic_actual_digest(email, html_text)
mail(to: email) do |format|
format.html { render html: html_text.html_safe }
end
end