rails 4 ActiveRecord :: StatementInvalid

时间:2013-10-22 08:15:42

标签: ruby-on-rails ruby ruby-on-rails-4

将rails应用程序从rails3.2升级到rails 4.我遇到了问题

  

SessionsController中的ActiveRecord :: StatementInvalid #new

     

Mysql :: Error:字段'session_id'没有默认值:INSERT   INTO sessionscreated_atdataupdated_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

由于

1 个答案:

答案 0 :(得分:5)

在初始化程序中添加此代码

  

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

了解更多信息,请查看activerecord-session_store链接