Как настроить шаблон, используемый ActionMailer? - PullRequest
1 голос
/ 21 сентября 2009

При использовании ActionMailer он использует «представление» в обычном пути, но как вы настраиваете «представление», которое используется (то есть выбираете свое собственное)?

Выглядит достаточно просто, чтобы изменить используемый макет, но где вы делаете то же самое для вида?

Ответы [ 2 ]

5 голосов
/ 30 сентября 2009

Добавьте команду template в вашу модель. E.g.:

class UserMailer < ActionMailer::Base
  def welcome_email(user)
    recipients user.email
    from "Me<me@example.com>"
    subject "Welcome!"
    sent_on Time.now
    body {:user => user, :url => "http://example.com/login"}
    content_type "text/html"
    ## use some_other_template.text.(html|plain).erb instead
    template "some_other_template"
  end
end

В качестве альтернативы, вы также можете использовать виды по умолчанию, но указать частичное в фактическом представлении и, таким образом, использовать любое частичное представление, как и любое обычное представление.

0 голосов
/ 21 сентября 2009

Так что, если у вас есть модель UserMailer, у вас должен быть каталог app / views / user_mailer. Внутри у вас будут представления, основанные на именах методов внутри вашей модели. Поэтому, если у вас есть метод welcome_email, вы можете иметь шаблон welcome_email.text.html.erb (или какой-то другой).

Есть довольно хорошее объяснение (которое я написал) здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...