Почтовый ящик Rails без просмотра
Возможно ли иметь почтовую программу Rails 3 без представления?
При работе с текстовыми сообщениями было бы здорово, если бы вы могли правильно разместить тело в самом почтовом ящике и не должны использовать представление для действия только с одной строкой текста (или с одним ключом I18n).
В некотором смысле, я ищу что-то вроде ActionController "render: text = > ", но для ActionMailer.
Ответы
Ответ 1
Я нашел путь путем экспериментов:
mail(:to => email, :subject => 'we found the answer') do |format|
format.text do
render :text => '42 owns the World'
end
end
Это также сказано в руководстве Rails:
http://guides.rubyonrails.org/action_mailer_basics.html в разделе 2.4
Ответ 2
Намного проще, просто используйте опцию body:
def welcome(user)
mail to: user.email,
from: "\"John\" <[email protected]>",
subject: 'Welcome in my site',
body: 'Welcome, ...'
end
И если вы планируете использовать html, не забудьте указать это с помощью параметра content_type, который по умолчанию является text/plain.
content_type: "text/html"
Таким образом, с рельсами опции корпуса пропускается шаг рендеринга шаблона.