簡體   English   中英

嘗試重新打開引擎類時的循環依賴關系?

[英]Circular dependency when trying to reopen an engine class?

我正在嘗試重新打開Rails中來自引擎的類。 我做了以下工作:

module Xaaron
  ApiKey.class_eval do
     include Promiscuous::Publisher
     publish :xaaron_users_id, :api_key, :as => :ApiKey
  end
end

位於:

  models/
    Xaaron/
      api_key.rb

這一切都在我的應用程序中,然后應該讓我運行:

bundle exec promiscuous publish "Xaaron::ApiKey.all"

但是,當我這樣做時,我得到了錯誤:

RuntimeError: Circular dependency detected while autoloading constant Xaaron::ApiKey

TL; DR :嘗試將api_key.rb重命名為其他名稱。

我認為這是正在發生的事情:Rails自動加載器加載Xaaron/api_key.rb並遇到未知的常量Xaaron::ApiKey 然后,它嘗試從名為(基於常量名稱)... Xaaron/api_key.rb文件中加載它。 繁榮,循環依賴。

就像@artemave所說的那樣, 重命名文件 如果不起作用,請嘗試:

Xaaron::ApiKey.class_eval do

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM