10

我有一个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模型保存了默认值?

4

1 回答 1

27

attr_accessor正在覆盖 rails 属性。尝试删除它,它应该可以工作。

于 2013-07-09T05:46:16.057 回答