将rails应用程序从rails3.2升级到rails 4.我遇到了问题
SessionsController中的ActiveRecord :: StatementInvalid #new
Mysql :: Error:字段'session_id'没有默认值:INSERT INTO
sessions
(created_at
,data
,updated_at
)价值观(?,?,?)
在我的会话表中,我有session_id字段,但我不知道如何设置默认值。
你可以帮我解决这个问题吗?我的add_sessions_table.rb迁移文件:
class AddSessionsTable< ActiveRecord的::迁移
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
端
我的sessions_store.rb文件
MyApp :: Application.config.session_store:active_record_store
由于
答案 0 :(得分:5)
在初始化程序中添加此代码
ActiveRecord :: SessionStore :: Session.attr_accessible:data,:session_id
了解更多信息,请查看activerecord-session_store链接