在ruby控制台中,如何更新实例变量?

时间:2015-05-05 16:19:58

标签: ruby-on-rails ruby

我有一个名为" Person"的模型。 在ruby控制台中,我首先声明Person的实例,然后更新属性,然后保存。

person = Person.last
person.name = "jeff"
person.save

完成这些后,我得到了这样的信息:

   (9.9ms)  BEGIN
   (7.5ms)  ROLLBACK
=> false

什么是" BEGIN"," ROLLBACK"," false"单独指? 我用Google搜索,但没有任何结果。

2 个答案:

答案 0 :(得分:2)

在Rails中执行save时,它会在事务中包装数据库操作。事务开始时会将BEGIN写入日志,如果操作失败,则会记录ROLLBACK(因为事务中的所有写入操作都是UPDATEINSERT或{{1 - "回滚")。

DELETEfalse在操作失败时返回的值。

您通常希望使用save!代替save,因为如果操作失败,它会引发(提供信息)异常。

答案 1 :(得分:0)