某个类使用 suppress 方法后,会对后续 block 里的保存(save)操作进行处理。
suppress
这里影响的是同类型的实例对象,无论是新建、更新操作表面上都执行了,但实际上没有执行。
user = User.create! token: 'asdf' User.suppress do user.update token: 'ghjkl' assert_equal 'asdf', user.reload.token user.update! token: 'zxcvbnm' assert_equal 'asdf', user.reload.token user.token = 'qwerty' user.save assert_equal 'asdf', user.reload.token user.token = 'uiop' user.save! assert_equal 'asdf', user.reload.token end
最后更新于4年前