[英]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.