2013-06-01 241 views
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屬性。我在這裏錯過簡單的東西嗎?

+0

您可以從您的控制檯複製/粘貼而不是其內容的微小圖像嗎?顯然我們也需要看代碼。 –

+0

對不起,我沒有意識到它會有多小,我編輯了我的問題。 – Josh

回答

1

如果您的Pmp型號(「Pimp」?「Pump」?「Pimple」?)有一個名爲「name」的DB字段,則沒有理由使用attr_accessor :name。使用attr_accessor :name,ActiveRecord的動態生成的屬性方法將永遠不會被調用,並且是的,這意味着該屬性不會被保存到數據庫中。

+0

呵呵,謝謝。項目管理專業:) – Josh

+1

我明白了。試圖想象一下皮條客管理或疙瘩管理應用會是什麼樣子,我很難 –