2012-09-18 109 views
0

我有一個網站有多個子域,並已將:domain => :all添加到我的會話存儲中,如下所示,以便我的登錄在所有子域中保持不變。session_store初始化工作在生產中,但沒有開發

`MyApp::Application.config.session_store :cookie_store, key: '_MyApp_session', :domain => :all` 

雖然這似乎是在生產中工作,但我無法讓我的會話在開發過程中跨域工作。什麼可能導致這種情況,我可以從我的配置文件或環境文件中添加/刪除哪些內容以使我的開發會話與我的生產會話相匹配?

請讓我知道是否有特定的代碼行,我需要檢查,我會這樣做(或粘貼在這裏)。 非常感謝您的反饋!

+1

您在開發和生產中使用哪些主機(地址)訪問網站?檢查這篇文章,http://excid3.com/blog/sharing-a-devise-user-session-across-subdomains-with-rails-3/ – dimuch

+0

這正是我正在尋找的。我也使用lvh.me,這樣簡單的答案。 (事實總是如此簡單)。如果你輸入了這個(例如「在開發過程中使用'name_of_development_url'而不是':all'),我會接受的。謝謝! – umezo

回答

0

我正在使用@ dimuch的link的解決方案,並且在生產期間將域設置爲:all,並在開發過程中將其設置爲我的開發網址'lvh.me'

0

您可能只需要解決問題。

1)檢查反引號是否導致問題。

2)檢查是否有任何其他初始化程序或與Rails相關的初始化問題導致應用程序在生產服務器上引導時不加載。

+0

Thanks @matsko。你是什麼意思反引號?另外,關於你的第二點,會話設置在生產環境中工作,但不在開發中您知道任何可能導致此問題的初始化問題嗎?應用程序本身會加載到兩個環境中,但session_store初始化似乎只在生產環境中加載。 – umezo

相關問題