首页 > 解决方案 > HTTParty#lock 似乎覆盖了 ActiveRecord 的 #lock 方法

问题描述

当尝试在 Rails 模型上实现悲观锁定时,我无法这样做,因为 HTTParty#lock 被调用而不是同名的 ActiveRecord 方法。

我正在使用 AR 6.1.4.1 和 HTTParty 0.20.0。

User.lock.find(1)
ArgumentError: wrong number of arguments (given 0, expected 1..2) from /Users/elliottg/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/httparty-0.20.0/lib/httparty.rb:587:in lock

看起来破坏 AR 方法的 HTTParty 代码位于 HTTParty 模块第 587 行中,如下所示。

def lock(path, options = {}, &block) perform_request Net::HTTP::Lock, path, options, &block end

我喜欢 HTTParty 并想继续使用它。

除了分叉之外,还有什么解决方案的想法吗?谢谢!

标签: ruby-on-railshttpartypessimistic-locking

解决方案


推荐阅读