我试图在互联网上找到,但可以找到一个很好的解释。在红宝石中以感叹号结尾的锁是什么意思?例如@student.lock!
(顺便说一句,我知道lock
并发的意思)
答案 0 :(得分:0)
转到Ruby on Rails网站。点击顶部的“ API”链接。键入“锁定!”进入搜索字段。点击the first result。
锁定!(锁定= true)
在此记录上获得行锁。重新加载记录以获得请求的锁。将SQL锁定子句传递给 追加SELECT语句的末尾或为“ FOR UPDATE”传递true (默认为排他的行锁)。返回锁定的记录。
如果您不清楚行锁是什么,则first half of this article是一个不错的起点。 TL; DR的意思是,行锁可以防止其他一些数据库用户(可能是同一应用程序的另一个连接)修改您正在修改或将要修改的行。