1

这就是我所做的

Customer.all

  Customer Load (0.6ms)  SELECT "customers".* FROM "customers"
 => #<ActiveRecord::Relation [#<Customer id: 1, name: "Judy Ngai", created_at: "2013-08-13 18:50:02", updated_at: "2013-08-13 18:50:02", phone_number: nil>]> 

然后

judy = Customer.find(1) 
insertdata = judy.phone_number = "1234567890"
insertdata.save!
or 
insertdata.save

给我

NoMethodError: undefined method `save' for "6265607524":String
NoMethodError: undefined method `save!' for "6265607524":String

我应该怎么办?

4

2 回答 2

4
judy = Customer.find(1) 
judy.phone_number = "1234567890"
judy.save!
于 2013-08-15T18:23:52.597 回答
2

我更喜欢像这样使用 .update_attributes :

judy = Customer.find(1)
judy.update_attributes(:phone_number, "1234567890")

如果您使用 update_attributes 它也会执行验证(=/save不执行)。有关分配属性的不同方法的列表,请查看在 ActiveRecord 中设置属性的 5 种方法

于 2013-08-15T18:48:24.757 回答