缺少要链接的主机!请提供 :host 参数,设置 default_url_options[:host]
Posted
技术标签:
【中文标题】缺少要链接的主机!请提供 :host 参数,设置 default_url_options[:host]【英文标题】:Missing host to link to! Please provide the :host parameter, set default_url_options[:host] 【发布时间】:2019-12-11 23:29:15 【问题描述】:尝试在开发中预览我的邮件程序,但出现上述错误。 (使用 Michael Hartl 教程)。
我认为由于我的主机,它无法正常工作。但是,使用 cloud 9 我很难找到我的主机。在书中它被定义为云 IDE 的host ='rails-tutorial-mhartl.c9users.io'
,但这是本书作者所独有的。
我尝试使用 localhost,但没有成功,如果这涉及到,我的开发 url 与书中的内容不同:"..0.vfs.cloud9.us-east-2.amazonaws.com/"
基本上,如果我能找到我唯一的 Cloud IDE 主机,问题应该会得到解决,但我不知道在哪里找到它
开发.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) %>
该页面应加载电子邮件预览,但完整的错误消息是:
,或设置 :only_path 为 true
【问题讨论】:
【参考方案1】:如果你使用的是 Rails 5,试试这个:
Rails.application.routes.default_url_options[:host] = "XXX"
找到here,在Github也有类似的讨论
【讨论】:
哇,太好了!不知道它是如何工作的,但它确实 - 谢谢你 不用担心。正如你所说,上面使用“XXX”工作,但我现在更新了 :host 以匹配根 URL - 感谢将来也会查看链接以获得更多理解以上是关于缺少要链接的主机!请提供 :host 参数,设置 default_url_options[:host]的主要内容,如果未能解决你的问题,请参考以下文章