【问题标题】:I am unable to reset password instructions on my ruby on rails web application我无法在我的 ruby on rails Web 应用程序上重置密码说明
【发布时间】:2015-12-18 18:37:42
【问题描述】:
我几乎完成了一个 Ruby Web 应用程序,它是一个论坛。我只有一个麻烦:当用户收到重置密码说明并点击“忘记密码”时,我看到了这个错误:
Showing C:/ruby/lib/ruby/gems/2.1.0/gems/devise-3.4.1/app/views/devise/mailer/reset_password_instructions.html.erb where line #5 raised:
Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
我能做什么?
【问题讨论】:
标签:
ruby-on-rails
ruby
ruby-on-rails-4
ruby-on-rails-3.2
rubygems
【解决方案1】:
看起来您需要在您的环境中指定您的host。
所以,在你的production.rb 文件中,你需要这样的东西:
config.action_mailer.default_url_options = { host: www.yourhostname.com }
在development.rb 中,类似这样的内容:
config.action_mailer.default_url_options = { host: "dev.yourhostname.com" }
等为您的测试环境。
来自docs 的一些信息。
【解决方案2】:
您的错误信息是:
缺少要链接的主机!请提供 :host 参数,设置 default_url_options[:host],或设置 :only_path 为 true
在config.action_mailer.default_url_options 中,你需要设置一个:host 参数,以便服务器知道如何链接回自己。服务器不知道要使用的域名或 IP 地址。
所以在您的config/production.rb 中尝试设置如下内容:
config.action_mailer.default_url_options = { host: 'www.example.com' }