2010-06-06 42 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