Почтовый ящик 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"


Таким образом, с рельсами опции корпуса пропускается шаг рендеринга шаблона.