Придумайте и ActionMailer путаница - PullRequest
9 голосов
/ 06 июня 2011

Я использую Devise для аутентификации, и я запутался в том, как настроить почту вместе с ней. Должны ли вы по-прежнему создавать свой собственный почтовый файл и файл инициализатора или отправлять всю почту через Devise? Куда вы отправляетесь в Devise, чтобы создать шаблон электронной почты и способ отправки электронной почты?

Я понимаю, что это довольно широкий вопрос, поэтому, по сути, я спрашиваю, как лучше настроить почту с Devise?

Кроме того, если вы хотите отправить электронное письмо пользователю после того, как он подтвердил свою электронную почту, как бы вы это сделали?

Ответы [ 2 ]

4 голосов
/ 12 января 2012

Devise действительно создает свой собственный Mailer - если вы посмотрите на GitHub https://github.com/plataformatec/devise/blob/master/app/mailers/devise/mailer.rb, вы увидите, что он поставляется с набором методов, уже упакованных в.

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

rails g devise views

, а затем отредактируйте их.

Если вы хотите отправлять дополнительные сообщения электронной почты, вы должны создать для этого свой собственный Mailer.Я бы порекомендовал http://edgeguides.rubyonrails.org/action_mailer_basics.html.Это довольно хороший обзор того, как настроить почтовую программу с нуля.

0 голосов
/ 06 июня 2011

Devise создает почтовые и почтовые шаблоны для вас, так что вам не нужно об этом беспокоиться.Однако, если вы хотите изменить шаблоны электронной почты, установите devise views с помощью команды:

rails g devise:views

Это добавит новую папку "devise" в ваши представления.Вы можете найти все шаблоны электронной почты в папке почтовой программы в папке views / devise.

Используйте подтверждающий атрибут для отправки подтверждающих писем пользователям после регистрации.По умолчанию этот атрибут закомментирован.Итак, после установки devise с помощью командной строки g devise: install, перейдите в db / migrate и найдите миграцию devise_create_users и раскомментируйте следующие строки:

t.confirmable и
add_index :users, :confirmation_token, :unique => true.После этого перенесите вашу базу данных.

Теперь перейдите к вашей модели пользователя и проверьте, имеет ли devise атрибут :Formable, если нет, добавьте его, и все готово.

...