Странное поведение Пони пишет письмо Синатре

Я могу отправлять почту со своего сайта, используя почту Sinatra и Pony. Проблема заключается в настройке тела для использования шаблона erb.

Итак, мой конфиг настроен так

post '/' do
from = params[:name]
subject = "#{params[:name]} has contacted you"
body = erb(:mail)

Pony.mail(
:from => from,
:to => ENV["EMAIL_ADDRESS"],
:subject => subject,
:body => body,
:via => :smtp,
:via_options => {
:address              => 'smtp.gmail.com',
:port                 => '587',
:enable_starttls_auto => true,
:user_name            => ENV["USER_NAME"],
:password             => ENV["PASSWORD"],
:authentication       => :plain, 
:domain               => "localhost.localdomain" 
 })

flash[:notice] = "Thanks for your email. I will be in touch soon."
redirect '/success' 

Таким образом, моя тема отображается правильно, но тело сообщения фактически возвращается как источник html для моей веб-страницы (как если бы я щелкнул правой кнопкой мыши источник просмотра)

Мой шаблон erb выглядит так

Hello Rich,

Seems as if you have recieved an email from <%= params[:name] %> via your website.

Their email address is <%= params[:email] %>, this is what they said.

<%= params[:message] %>

Так почему же тело не отображает erb tempalte?

Я немного запутался здесь? Я что-то неправильно настроил в шаблоне erb?

Спасибо


person Richlewis    schedule 02.07.2013    source источник


Ответы (1)


Итак, для всех, у кого такая же проблема, мне нужно было сказать Sinatra не использовать мой файл макета, поэтому при настройке

body = erb(:mail)

Это должно было быть

body = erb(:mail, layout: false )
person Richlewis    schedule 02.07.2013