0

模型

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属性。我在这里错过了一些简单的东西吗?

4

1 回答 1

1

如果您的Pmp模型(“Pimp”?“Pump”?“Pimple”?)有一个名为“name”的数据库字段,则没有理由使用attr_accessor :name. 使用attr_accessor :name,ActiveRecord 的动态生成的属性方法将永远不会被调用,是的,这意味着属性不会被保存到数据库中。

于 2013-06-01T19:23:53.900 回答