设计错误的令牌和网址错误

时间:2013-11-20 16:34:02

标签: ruby-on-rails devise ruby-on-rails-3.2 devise-confirmable

我使用设计启用确认(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}

<{1>}和test.rb中的

1 个答案:

答案 0 :(得分:0)

不确定为什么令牌不匹配,但您可以使用以下内容轻松解决第一个问题:

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

对于生产环境配置,由您决定。