Ruby on rails Rails完全设计了确认电子邮件链接丢失协议

Ruby on rails Rails完全设计了确认电子邮件链接丢失协议,ruby-on-rails,devise,Ruby On Rails,Devise,我正在使用Desive 3.5.2处理Rails 4.2应用程序中的用户确认。确认电子邮件接收正确。但是,电子邮件中的确认链接根本不包括协议。这不是开发中的问题,但将在生产中出现 例如,与此不同的是: 我明白了: 本地主机:3000/用户/确认?确认令牌=eBjysKrWkFHBf46qUf1Q config/environments/development.rb config.action_mailer.default_url_options = { protocol: 'http', hos

我正在使用Desive 3.5.2处理Rails 4.2应用程序中的用户确认。确认电子邮件接收正确。但是,电子邮件中的确认链接根本不包括协议。这不是开发中的问题,但将在生产中出现

例如,与此不同的是:

我明白了:

本地主机:3000/用户/确认?确认令牌=eBjysKrWkFHBf46qUf1Q

config/environments/development.rb

config.action_mailer.default_url_options = { protocol: 'http', host: 'localhost', port: 3000 }

因此,我不知道为什么协议字符串没有加前缀。我在谷歌上搜索了许多相关问题,但没有找到相关的解释。知道我可能做错了什么吗?

只需按如下方式指定变量就足够了

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

请向我们显示邮件视图在生产环境中是否有localhost?包括您的config/environments/development.rb文件在url开头缺少协议可能没问题。服务器将自动将http重定向到https。我已经测试过了,效果很好。也许这是设计工作,因为它的设计?