【问题标题】:Missing host to link to! Please provide the :host parameter, set default_url_options[:host]缺少要链接的主机!请提供 :host 参数,设置 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) %>

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

缺少要链接的主机!请提供 :host 参数,设置 default_url_options[:host],或设置 :only_path 为 true

【问题讨论】:

    标签: ruby ruby-on-rails-5 cloud9-ide cloud9 aws-cloud9


    【解决方案1】:

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

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

    找到here,在Github也有类似的讨论

    【讨论】:

    • 哇,太好了!不知道它是如何工作的,但它确实 - 谢谢你
    • 不用担心。正如你所说,上面使用“XXX”工作,但我现在更新了 :host 以匹配根 URL - 感谢将来也会查看链接以获得更多理解
    猜你喜欢
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    • 2014-04-12
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 2018-11-08
    相关资源
    最近更新 更多