0

更新: 他のいくつかのマイナーな修正の中でサーバーを再起動しましたが、エラーが発生しません。しかし、確認メールが届きません。さらに、電子メールの検証をクリックしてログインできます。


Devise のメール確認/検証を使用しようとしているときに、Devise を介して Web アプリにサインインすると、サーバーから次のメッセージが表示されます。

RuntimeError in Devise/registrations#create

    Missing host to link to! Please provide :host parameter or set default_url_options[:host]
Extracted source (around line #5):

2: 
3: <p>You can confirm your account through the link below:</p>
4: 
5: <p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>

これはconfig.action_mailer.default_url_options = { :host => 'localhost:3000' }、development.rb ファイルにインクルードしており、開発モードであるため、奇妙です。

ありがとうございます!

4

2 に答える 2

0

ActionMailer構成でドメインを記述する必要があります...以下のコードの平和はdevelopmen.rbファイルにあるはずです。ドメインを「localhost:3000」に設定し、サーバーを再起動して、今すぐサインアップします。

ActionMailer::Base.smtp_settings              = {
      :address              => "smtp.gmail.com",
      :port                 => "587",
      :domain               => "localhost:3000",
      :enable_starttls_auto => true,
      :authentication       => :login,
      :user_name            => "<working email>@gmail.com",
      :password             => "<password>"
  }
于 2011-09-08T10:31:10.447 に答える
0

メールが届かない場合は、gemfile に gem 'mail' が記載されていない可能性があります...

すべての設定が正しいことを確認してください。deviseと Gmail smtp サーバーを使用してメールを送信するを参照してください。

于 2011-09-08T15:11:55.643 に答える