我无法在我的 ruby on rails 网络应用程序上重设密码说明

I am unable to reset password instructions on my ruby on rails web application

我几乎完成了一个 Ruby Web 应用程序,它是一个论坛。我只有一个麻烦:当向用户发送重置密码说明并单击 "forgot my password" 时,我看到此错误:

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

我能做什么?

您的错误信息是:

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

config.action_mailer.default_url_options中,需要设置一个:host参数,这样服务器才知道如何link返回给自己。服务器不知道要使用的域名或 IP 地址。

所以在您的 config/production.rb 中尝试设置如下内容:

config.action_mailer.default_url_options = { host: 'www.example.com' }

看来您需要在您的环境中指定 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 的一些信息。