模型
class Pm < ActiveRecord::Base
attr_accessor :name
end
控制台
me = Pm.new
#=> <Pm id: nil, name: nil, created_at: nil, updated_at: nil>
me.name = "Josh"
#=> "Josh"
me.save
#=>(0.4ms) BEGIN
#=> true
#=> SQL (0.8ms) INSERT INTO "pms" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id" [["created_at", Sat, 01 Jun 2013 19:02:27 UTC +00:00], ["name", nil], ["updated_at", Sat, 01 Jun 2013 19:02:27 UTC +00:00]]
#=>(1.3ms) COMMIT
me
#=> <Pm id: 4, name: nil, created_at: "2013-06-01 19:02:27", updated_at: "2013-06-01 19:02:27">
我有一个定义了name
属性和attr_accessor
的模型。记录保存但不更新name
属性。我在这里错过了一些简单的东西吗?
答案 0 :(得分:1)
如果您的Pmp
模型(“Pimp”?“Pump”?“Pimple”?)有一个名为“name”的数据库字段,则没有理由使用attr_accessor :name
。使用attr_accessor :name
,永远不会调用ActiveRecord的动态生成的属性方法,是的,这意味着该属性不会保存到数据库中。