Ruby on rails 设计确认链接缺少域

Ruby on rails 设计确认链接缺少域,ruby-on-rails,devise-confirmable,Ruby On Rails,Devise Confirmable,设计确认\u url只生成一个相对url,没有域,例如: http://users/confirmation?confirmation_token=... 我试着换衣服 confirmation_url(@resources, :confirmation_token => @resource.confirmation_token) 到 但它会生成相同的url。我升级到设计2.2.3,但结果相同。轨道3.1.4 更新: 我已在production.rb中设置: config.acti

设计确认\u url只生成一个相对url,没有域,例如:

http://users/confirmation?confirmation_token=...
我试着换衣服

confirmation_url(@resources, :confirmation_token => @resource.confirmation_token)

但它会生成相同的url。我升级到设计2.2.3,但结果相同。轨道3.1.4

更新: 我已在production.rb中设置:

  config.action_mailer.default_url_options = { :host => 'mysubdomain.mysite.com' } 
我试着设置

    before_filter set_actionmailer_host

    def set_actionmailer_host
      ActionMailer::Base.default_url_options[:host] = request.host_with_port
    end
在应用程序控制器()中无效

更新: 这在开发和生产中都会发生

更新 我不明白为什么Deave不使用app/views/Deave/mailer/confirmation_instructions.html.haml中的模板,如果我可以编辑,我可以手动附加主机:
'http://mysite.com/“+确认\u url(…
我尝试设置范围视图设置,但没有任何效果
这是一场灾难,用户无法确认其注册:(

您可能没有将默认url主机添加到环境配置文件中。当您运行
rails g designe:install
命令时,通常会收到这些说明

# config/environments/development.rb

# Default actiomailer url host (required by devise) 
config.action_mailer.default_url_options = { host: 'myapp.dev' }
您的所有环境都需要此设置

# config/environments/production.rb

# Default actiomailer url host (required by devise) 
config.action_mailer.default_url_options = { host: 'myproductionapp.com' }

:host\u only参数实际上已在确认\u url调用中设置,这导致了问题
# config/environments/production.rb

# Default actiomailer url host (required by devise) 
config.action_mailer.default_url_options = { host: 'myproductionapp.com' }