2009-04-02 3 views
2

내 앱에서 표준 active_record_store를 사용하고 있습니다. environment.rb에서 내가 가진 :기본 ActiveRecordStore updated_at 필드가 모든 요청에서 업데이트되지 않습니다.

config.action_controller.session_store = :active_record_store 

그리고 내 sessions 테이블이 rake db:sessions:create 만들었습니다 :

create_table :sessions do |t| 
    t.string :session_id, :null => false 
    t.text :data 
    t.timestamps 
end 

add_index :sessions, :session_id 
add_index :sessions, :updated_at 

updated_at 열이 각 요청에 업데이트되지 않는 그러나. 세션 생성시 (예 : created_at과 동일한 값으로) 업데이트되지만 이후 요청은 업데이트되지 않습니다. 이 기본적으로 작동하지 않는 이유

class CGI::Session::ActiveRecordStore::Session 
def before_save 
    self.updated_at = Time.now 
end 
end 

사람이 설명 할 수 : 나는 environment.rb에서 다음 명시 적으로 호출을 선언하는 경우

이상하게도, 다음 필드 각 요청에 업데이트됩니다?

레일 2.1.0을 실행 중이며 아니오, 현재 레일을 업그레이드 할 수 없습니다! :)

답변

1

세션을 업데이트하고 있습니까? 값을 업데이트하지 않으면 세션이 디스크에 저장되지 않는다고 생각합니다.

class WhateverController < ActionController 
    def index 
    session[:whatever] = true 
    end 
end 
+0

안녕 François. 예, 모든 요청에 ​​대해 세션 [: user]을 동일한 값으로 업데이트하고 있습니다. – Olly

관련 문제