0

我使用启用确认的设计(3.1.1)。

第 1 期

confirmation_url不像预期的那样

我的/app/views/devise/mailer/confirmation_instructions.html.erb包含

<p><%= link_to 'confirm', confirmation_url(@resource, :confirmation_token => @token) %></p>

预期是:

http://localhost:3000/?confirm/confirmation_token=3DXF7mw4KcJxtD698coCdH

但我得到了

?confirmation_token=3DXF7mw4KcJxtD698coCdH

有这个错误

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

第二期

令牌不匹配

confirmation_token.invalid

但是我有

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

test.rbdevelopment.rb

4

1 回答 1

0

不确定为什么令牌不匹配,但您可以通过以下方式轻松解决第一个问题:

# development.rb and test.rb
config.action_mailer.default_url_options = { :host => "localhost:3000" }

至于生产环境的配置,就看你自己了。

于 2013-11-20T18:28:46.423 回答