Today I created a new Rails 2.2.2 project.
I'm using Oracle and activerecord-oracle-adapter (1.0.0.9250).
I'm using ActiveRecord::Base.primary_key_prefix_type = :table_name_with_underscore, which is a spec for the project that I cannot change.
I ran `rake db:sessions:create` and it created a new migration that looks like this:
class CreateSessions < ActiveRecord::Migration
def self.up 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 end
def self.down drop_table :sessions end
end
This does not work. I get the error: ActionController::InvalidAuthenticityToken on any forms that are posted.
When I look in the sessions table the hashed data in the `data` field looks normal, but there are integers being stored in the session_id field, not the 32 character hashes I would expect. And every page reload creates a new session, the integer stored in the session_id field is incremented by one. I'm thinking session data is being written, but then cannot be retrieved.
I've tried a number of things I found searching, such as:
CGI::Session::ActiveRecordStore::Session.set_primary_key 'session_id'
none of which help. Any idea what I need to do?
I have other, older Rails apps using active_record_store sessions that work just fine, but this is my first one on Rails 2.2.2 and so far it's a no-go.