我有一个名为" Person"的模型。 在ruby控制台中,我首先声明Person的实例,然后更新属性,然后保存。
person = Person.last
person.name = "jeff"
person.save
完成这些后,我得到了这样的信息:
(9.9ms) BEGIN
(7.5ms) ROLLBACK
=> false
什么是" BEGIN"," ROLLBACK"," false"单独指? 我用Google搜索,但没有任何结果。
答案 0 :(得分:2)
在Rails中执行save
时,它会在事务中包装数据库操作。事务开始时会将BEGIN
写入日志,如果操作失败,则会记录ROLLBACK
(因为事务中的所有写入操作都是UPDATE
,INSERT
或{{1 - "回滚")。
DELETE
是false
在操作失败时返回的值。
您通常希望使用save!
代替save
,因为如果操作失败,它会引发(提供信息)异常。
答案 1 :(得分:0)