缺少要链接的主机!请提供 :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]的主要内容,如果未能解决你的问题,请参考以下文章

缺少要链接的主机!请为 Rails 4 提供 :host 参数

Postman中文文档——证书(Certificates)

ssh设置别名

centos永久修改主机名以及etc/hosts文件详解

83.LAMP设置默认主机

学习Linux网络设置