ActiveRecord不保存任何属性,保存默认值

时间:2013-07-09 05:35:09

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

我有一个包含某些属性的User模型,称之为foobar。所以我的模型看起来像这样:

class User < ActiveRecord::Base
  attr_accessor :foo, :bar
end

然后我执行以下操作:

user = User.new
user.foo = "123"
user.save!

我的开发日志显示:

INSERT INTO "users" DEFAULT VALUES RETURNING "id"

然后,如果我进入Rails控制台并执行User.first,我会得到类似的内容:

#<User id: 4, foo: nil, bar: nil>

我正在使用Postgres,我将其他模型保存到数据库没有问题,为什么我的User模型保存默认值?

1 个答案:

答案 0 :(得分:27)

attr_accessor覆盖了rails属性。尝试删除它,它应该工作。