Ruby on Rail от M.Hartl, глава 10/11 (активация/сбой пароля)

95
9

Я новичок в RoR и следую инструкциям Майкла Хартла Руби на Rails Sample App. Вист, завершивший главу 10 и 11, столкнулся с проблемой, и я не уверен, как ее решить.

Весь мой тест проходит нормально, но при использовании приложения в реальном времени через Heroku.com приложение отправляет автоматические уведомления об активации и сбросе пароля, однако, когда пользователь нажимает на ссылку в этих письмах, веб-браузер направляется на "untitled: blank", стр.

Кто-нибудь знает, как я могу это решить. Пожалуйста, ознакомьтесь с некоторыми из приведенного ниже кода и дайте мне знать, если вам нужно больше видеть.

Любая помощь будет оценена.

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

Фэй Мэтьюз

routes.rb =

1 Rails.application.routes.draw do
2 root 'static_pages#home'
3 get '/help', to: 'static_pages#help'
4 get '/about', to: 'static_pages#about'
5 get '/contact', to: 'static_pages#contact'
6 get '/signup', to: 'users#new'
7 get '/login', to: 'sessions#new'
8 post '/login', to: 'sessions#create'
9 delete '/logout', to: 'sessions#destroy'
10 resources :users
11 resources :account_activations, only: [:edit]
12 resources :password_resets, only: [:new, :create, :edit, :update]
13 end

user_mailer/password_reset.html.erb =

1 <h1>Password reset</h1>
2 <p>To reset you password click the link below:</p>
3
4 <%= link_to "Reset password", edit_password_reset_url(@user.reset_token,
5 email: @user.email) %>
6
7 <p> This link will expire in two hours.</p>
8
9 <p>
10 If you did not request your password to be reset, please ignore this email and your password will remain unchanged.
11 </p>

user_mailer/password_reset.text.erb =

1 To reset you password click the link below:
2
3 <%= edit_password_reset_url(@user.reset_token, email: @user.email) %>
4
5 This link will expire in two hours.
6
7 If you did not request you password to be reset, please ignore this email and your password will remain unchanged.

среды /production.rb =

60   config.action_mailer.raise_delivery_errors = true
61 config.action_mailer.delivery_method = :smtp
62 config.action_mailer.default_url_options = { :host => '<safe-falls-22225>.herokuapp.com' }
63 ActionMailer::Base.smtp_settings = {
64 :address => 'smtp.sendgrid.net',
65 :port => '587',
66 :authentication => :plain,
67 :user_name => ENV['SENDGRID_USERNAME'],
68 :password => ENV['SENDGRID_PASSWORD'],
69 :domain => 'heroku.com',
70 :enable_starttls_auto => true
71 }

спросил(а) 2016-09-20T18:31:00+03:00 4 года, 5 месяцев назад
1
Решение
74

Изменить line:62 в config/environments/production.rb

config.action_mailer.default_url_options = { host: 'safe-falls-22225.herokuapp.com' }

у вас есть опечатка в default_url_options

ответил(а) 2016-09-20T18:36:00+03:00 4 года, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема