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+を使用している場合、deviseは移行ヘルパーを提供しないため、これは失敗し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
あなたは次のようなものを使用することができます(:25あなたがローカルホスト上のSMTPサーバーを持っていると仮定):
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開発中のセットアップをテストするには、開発中のSMTPサーバーとして使用するmailcatcher gemをインストールし、すべての受信メールをキャッチして表示しますhttp://localhost:1080/
。
gem install mailcatcher
インストールしたら、次のコマンドでメールキャッチャーサーバーを起動します。
mailcatcher
おもちゃのSMTPサーバーがポート1025で実行されてメールをキャッチし、HTTPポート1080でそれを非難します。
これでアカウントを作成し、確認を確認できます。