Круговая зависимость при попытке открыть класс двигателя?
Я пытаюсь заново открыть класс в 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
2 ответа
TL; DR: попробуйте переименовать api_key.rb
к чему-то еще.
Вот что я думаю происходит: загрузка автозагрузчика Rails Xaaron/api_key.rb
и встречает неизвестную константу Xaaron::ApiKey
, Затем он пытается загрузить его из файла с именем (на основе постоянного имени)... Xaaron/api_key.rb
, Бум, круговая зависимость.
Как указано @artemave, переименуйте файл. И если это не сработает, попробуйте:
Xaaron::ApiKey.class_eval do