Почему я получаю RunTimeError на Devise для подтверждения по электронной почте при регистрации? - PullRequest
0 голосов
/ 08 сентября 2011

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


При попытке использовать подтверждение / подтверждение по электронной почте от Devise, При входе в веб-приложение через Devise я получаю следующее:

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 и нахожусь в режиме разработки.

Спасибо заранее!

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Если вы не получаете электронную почту, возможно, вы не упомянули gem 'mail' в вашем gemfile ...

Убедитесь, что все ваши настройки верны .. см. Отправка почты с помощью devise и Gmail smtp server

0 голосов
/ 08 сентября 2011

вам нужно записать домен в конфигурациях ActionMailer ... Приведенный ниже код должен быть в файле developmentmen.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>"
  }
...