2015-11-28 7 views
1

Я работаю на 10 главу в Ruby On Rails Tutorial Майкл Hartl, я столкнулся вопрос об активации учетной записиArgumentError в Rails :: MailersController # предварительный

Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true 

user_mailer.rb

class UserMailer < ApplicationMailer 
 

 
    def account_activation(user) 
 
    @user = user 
 
    mail to: user.email, subject: "Account activation" 
 
    end 
 

 
    def password_reset 
 
    @greeting = "Hi" 
 
    mail to: user.email 
 
    end 
 
end

account_activation.html.erb

<h1>Sample App</h1> 
 

 
<p>Hi <%= @user.name %>,</p> 
 

 
<p> 
 
Welcome to the Sample App! Click on the link below to activate your account: 
 
</p> 
 

 
<%= link_to "Activate", edit_account_activation_url(@user.activation_token, 
 
                email: @user.email) %>

enter image description here

app/views/user_mailer/account_activation.html.erb:9:in `_app_views_user_mailer_account_activation_html_erb__2222007018826719766_70083837842380' 
app/mailers/user_mailer.rb:5:in `account_activation' 
+0

http://stackoverflow.com/a/799383/2057388 –

+0

Я попытался изменить формат 'config.action_mailer.default_url_options', он не работает. – maheshkumar

ответ

3

UPDATE

Добавить default_url_options в config/environments/development.rb

config.action_mailer.default_url_options = { :host => '127.0.0.1', :port => 3000 } 

ИЛИ

config.action_mailer.default_url_options = { :host => 'localhost', :port => 3000 } 
+0

Нет, это не сработало. – maheshkumar

+0

опубликовать последнюю ошибку – Prashant4224

+0

'Отсутствует хост для ссылки на! Укажите параметр: host, установите default_url_options [: host] или установите: only_path to true ' – maheshkumar