2013-07-09 57 views
8

我有一個User模型有一些屬性,稱它們爲foobar。所以,我的模式是這樣的:Rails 4:ActiveRecord不保存任何屬性,保存默認值

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模型保存默認值?

回答

26

attr_accessor正在覆蓋rails屬性。嘗試刪除它,它應該工作。

+1

這必須是postrges特定的。有誰知道爲什麼? –

+0

我想知道爲什麼Postgres是問題。 –