Rails属于头痛
新手铁路问题即将来临。
我有一个这样的课:
class Thing false end
我做了一次迁移,表格看起来还不错。 然后我启动rails console
并尝试以下操作:
t = Thing.new(:name => "test") => #
已经在这里它说名字是零,为什么? 继续,我试试这个:
t.name => "test"
现在名字似乎设置了吗? 如果我试图保存:
t.save! Thing Exists (8.0ms) SELECT 1 AS one FROM "things" WHERE LOWER("things"."name") = LOWER('test') LIMIT 1 SQL (16.0ms) INSERT INTO "things" ("created_at", "description", "name", "updated_at") VALUES ('2012-10-28 16:10:12.701000', NULL, NULL, '2012-10-28 16:10:12.701000') => true
为什么我指定的名称没有保存? 我想要的是能够在调用new时将属性指定为哈希,然后保存实例。
您应该删除attr_accessor :name
,这是为name
创建getter和setter,但它们已由ActiveRecord创建