Rails::MailersController#preview 中的参数错误
ArgumentError in Rails::MailersController#preview
我正在编写 Michael Hartl 的 Rails 教程 Ruby 中的第 10 章,我遇到了有关帐户激活的问题
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) %>
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'
更新
将 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 }
我正在编写 Michael Hartl 的 Rails 教程 Ruby 中的第 10 章,我遇到了有关帐户激活的问题
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) %>
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'
更新
将 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 }