2016-09-23 29 views
0

我有一個生產應用程序以及一個臨時應用程序。對於這個問題,讓我們假設如下:登錄/註銷路徑和子域名後的導軌和設計

  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

回答

1

更改此:

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

要這樣:

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