Ruby on Rails,使用save和update_attributes更新持久化的ActiveRecord对象
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/7948568
上文《Ruby on Rails,使用new和create创建ActiveRecord对象及他们之间的区别》中我们使用rails console访问模型创建对象并将其保存到数据库中。
现在我们学习如何更新已经持久化的对象并将修改更新到数据库。与保存对象类似,更新对象也有两种方法。
其一,最常规的方法是直接更新一个持久化对象的属性,然后将其保存。感觉和使用new/save方法保存对象差不多,只不过new的过程被find 或赋值操作替代了。
irb(main):016:0> subject4.update_attributes(:name=>"jerry") [1m[35m (0.0ms)[0m BEGIN [1m[36m (33.0ms)[0m [1mUPDATE `subjects` SET `name` = 'jerry', `updated_at` = '2012-09-05 14:50:15' WHERE `subjects`.`id` = 4[0m [1m[35m (37.0ms)[0m COMMIT=> trueirb(main):017:0> subject5=find(4)irb(main):019:0> subject5.name=> "jerry"
上一篇中的save,create和这一篇中的update_attributes方法调用之后都会返回一个表明保存或更新是否成功的boolean值。这个其实挺有用的,比如你要保存一个前台填写的表单,需要对表单是否保存成功做出反馈。这是数据有效性检查的范畴了,后面会讲到。
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/7948568