2013-10-22 272 views
2

雖然從rails3.2升級Rails應用程序導軌4.我得到一個問題軌道4的ActiveRecord :: StatementInvalid

ActiveRecord::StatementInvalid in SessionsController#new

Mysql::Error: Field 'session_id' doesn't have a default value: INSERT INTO sessions (created_at , data , updated_at) VALUES (?, ?, ?)

在我的課程表我已經SESSION_ID場,但我不知道該怎麼設置默認值。

你能幫我解決這個問題嗎?

我add_sessions_table.rb遷移文件:

class AddSessionsTable < ActiveRecord::Migration

def change

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 

end

我sessions_store.rb文件

MyApp::Application.config.session_store :active_record_store

感謝

回答

5

在初始化添加該代碼,

ActiveRecord::SessionStore::Session.attr_accessible :data, :session_id

˚F或更多信息結帳activerecord-session_store鏈接