登录/注销路径和子域名后的导轨和设计

登录/注销路径和子域名后的导轨和设计

问题描述:

我有一个生产应用程序以及一个临时应用程序。对于这个问题,让我们假设如下:登录/注销路径和子域名后的导轨和设计

  1. 生产= foo.com
  2. 分期= staging.foo.com

我的应用程序的每个用户都会有自己的子域名也是如此。防爆。

  1. 生产= user.foo.com
  2. 分期= user.staging.foo.com

部署我的应用程序的Heroku之后,我从“staging.foo.com/login签署'之后,设计重定向到'user.foo.com'。我期望它重定向到'user.staging.foo.com',因为我使用该域中的url登录。由于我被重定向到不正确的域,因此浏览器向我显示错误,指出服务器不可用。

下面是我的一些代码:

application_controller.rb

... 
def after_sign_in_path_for(resource) 
    authenticated_root_url(subdomain: 'user') 
end 
... 

配置/环境/ staging.rb

... 
config.action_controller.default_url_options = { host: 'staging.foo.com' } 
... 

配置/初始化/ session_store。 rb

... 
Rails.application.config.session_store :cookie_store, key: '_foo_session', domain: "staging.foo.com" , tld_length: 3 
... 

如果我在登录后手动键入'user.staging.foo.com'网址,我可以看到正确的根页面。关于我失踪的任何想法?

+0

您staging.rb更改这个 'config.action_controller.default_url_options = {域: 'staging.foo.com'}' – luissimo

+0

你能否把这个添加为答案,我会将它标记为可接受的@luissimo。它完美的作品:-) – Herm

+0

很高兴听到,添加它作为答案:) – luissimo

更改此:

config.action_controller.default_url_options = { host: 'staging.foo.com' } 

要这样:

config.action_controller.default_url_options = { domain: 'staging.foo.com' }