Rails担心卡在-cache-?

时间:2013-11-22 14:27:01

标签: ruby-on-rails ruby

我有一个模型BusinessLog

class BusinessLog < ActiveRecord::Base
  include BusinessLogging
  default_scope { where(business_id: Business.current.id) }
end

它在默认范围内执行操作,并包含一个问题BusinessLog

class BusinessLog < ActiveRecord::Base
  module BusinessLogging
    extend ActiveSupport::Concern

    module ClassMethods
      def log!(options)
        create! business_id: options[:business_id], user_id: options[:user_id], action: options[:action]
      end
    end
  end
end

这个log!方法是由sidekiq工作者调用的。最终我发现由于BusinessLog默认范围,我无法登录多个业务。所以我删除了BusinessLog默认范围,但它被卡住了。

每当我尝试通过模块执行操作时(例如:BusinessLog.log!(options)),它仍然使用默认范围(即使我已经删除它)。但是当我在模型中执行操作时(例如:BusinessLog.create!(options)),它按预期工作,没有 - 已经消失的默认范围。

我尝试了很多工作,但只有一件事有效:重命名模块,一切都完美无缺。

值得一提的是,这恰好发生在我的生产环境中。

有没有人经历过这个?我应该把它作为一个问题发布在github上吗?我怎么能提供关于这个-bug-的更多信息? 我正在使用Rails 4.0.1和ruby 2.0.0

0 个答案:

没有答案