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.
–
Greg D.
http://destiney.com/