rails 4 ActiveRecord::StatementInvalid
将rails应用程序从rails3.2升级到rails 4.我遇到了问题
ActiveRecord::StatementInvalid in SessionsController#new
Mysql::Error: Field 'session_id' doesn't have a default value: INSERT
INTOsessions (created_at ,data ,updated_at ) VALUES (?, ?, ?)
在我的会话表中,我有session_id字段,但我不知道如何设置默认值。
你可以帮我解决这个问题吗?
我的add_sessions_table.rb迁移文件:
class AddSessionsTable < ActiveRecord::Migration
def change
1
2
3
4
5
6
7
8
9 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
endend
我的sessions_store.rb文件
MyApp::Application.config.session_store :active_record_store
谢谢
在初始化程序中添加此代码,
ActiveRecord::SessionStore::Session.attr_accessible :data, :session_id
有关更多信息,请查看activerecord-session_store链接