2017-02-10 3 views
0

Я пытаюсь построить строку, которая будет передана 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 текст гиперссылками правильно с URL я необходимость. Это не делает. Я попробовал link_to, я попробовал двойные кавычки, и я попробовал <%= topic_object.slug %>.

Я считаю, что проблема в том, что существует необходимость как для двойных, так и для одиночных кавычек в одной строке, даже если я использую метод link_to или тег a html.

Что мне не хватает?

ответ

2

Construct строка с использованием %Qsyntax:

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 с html_safe директивы внутри user_mailer.rb:

def dynamic_actual_digest(email, html_text) 
    mail(to: email) do |format| 
    format.html { render html: html_text.html_safe } 
    end 
end 
Смежные вопросы