失踪主机到link到!请提供:host参数,设置default_url_options[:host]

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

正在开发中尝试预览我的邮件程序,但出现上述错误。 (使用 Michael Hartl 教程)。

我认为它因为我的主机而无法正常工作。但是,使用 cloud 9 我很难找到我的主机。在书中,它被定义为 host ='rails-tutorial-mhartl.c9users.io' 代表云 IDE,但这对本书作者来说是独一无二的。

我尝试使用 localhost,但没有用,我的开发 url 与书中的内容不同,如果这涉及:"..0.vfs.cloud9.us-east-2.amazonaws.com/"

基本上,如果我能找到我独特的云 IDE 主机,问题应该得到解决,但我不知道在哪里找到这个

development.rb

config.action_mailer.raise_delivery_errors = true  
config.action_mailer.delivery_method = :test  
host = 'localhost:8080' 
config.action_mailer.default_url_options = { host: host, protocol: 'http' }

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) %>

页面应加载电子邮件预览,但完整的错误消息是:

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

如果您使用的是 Rails 5,试试这个:

Rails.application.routes.default_url_options[:host] = "XXX"

找到 and there was a similar discussion on Github