2010-06-06 53 views
1

我想配置我的應用使用與默認不同的架構來存儲會話。基本上,我希望應用程序將其所有active_record對象存儲在app_development中,並僅將其會話存儲在app_sessions中。Rails 2.3 - 將會話存儲在不同的架構中

development: 
    # ... 

sessions: 
    host: localhost 
    database: app_sessions 
    username: blah 
    password: sssshhh 
    #.... 

然後在模型設置:

class Session < ActiveRecord::Base 
    establish_connection :sessions 
    #... 
end 

但由於會議沒有一個模型類中定義的,我通常這可以通過定義會話DB在database.yml中完成m正在尋找一種方式來告訴它在哪裏存儲它的數據。我注意到會話來自ActionController::Session,但在那裏找不到我需要的內容。有什麼想法嗎?謝謝。

回答

2

實際上有的一個模型。它被稱爲ActiveRecord::SessionStore::Session

我還沒試過,但也許你可以用一個初始化程序重新打開這個類,並且調用establish_connection就可以了?

+0

yup,'ActiveRecord :: SessionStore :: Session.establish_connection:sessions' in config/initializers/session_store.rb做了這個工作...... – sa125 2010-06-06 11:10:50