1. Переконайтеся, що ви включили підтверджуваний у виклик Model.devise
class User < ActiveRecord::Base
devise :database_authenticatable, :confirmable ...
end
2. Переконайтеся, що ви додали підтверджувану міграцію користувача
create_table :users do |t|
t.database_authenticatable
t.confirmable
...
end
Якщо ви використовуєте devise 2.0+, це не вдається, оскільки пристрій більше не надає помічників міграції, і це t.confirmable
викликає помилку. Замість цього скопіюйте блок із написом "Підтверджується" з їх посібника з міграції .
3. Створіть представлення приладів за допомогою будь-якої з наступних команд, щоб ви могли перекрити перегляди розроблених повідомлень:
rails generate devise:views # global
rails generate devise:views users # scoped
Тепер ви можете змінити перегляди пошти в devise/mailer/confirmation_instructions.html.erb
або users/mailer/confirmation_instructions.html.erb
залежно від налаштувань
4. Для середовища розробки додайте наступні конфігураційні рядки в/config/environments/development.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {:address => "localhost", :port => 1025}
5. Для виробничого середовища /config/environments/production.rb
ви можете використовувати щось подібне до наступного (припустимо, у вас є SMTP-сервер у localhost: 25):
config.action_mailer.default_url_options = {:host => 'yourdomain.com'}
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "127.0.0.1",
:port => 25,
:domain => 'yourdomain.com'
}
6 Для тестування налаштувань у розробці встановіть gem mailcatcher, який ви будете використовувати як сервер SMTP при розробці, виловлюючи всі вхідні листи та відображаючи їх на http://localhost:1080/
:
gem install mailcatcher
Після встановлення запустіть сервер mailcatcher з командою:
mailcatcher
Іграшковий SMTP-сервер буде працювати на порті 1025, що збирає електронні листи та відображатиме їх на HTTP-порту 1080.
Тепер ви можете створити обліковий запис і переглянути підтвердження.