adında yer alan sınıflarla birlikte "uyarı: A: B tarafından başvurulan toplevel sabiti B'nin önlenmesi" Özel bir dizinde (Ör: app/presenters/
) dosyaları saklarken, adı geçen sınıfların yüklendiğinden nasıl emin oluyorsunuz? ÖrneğinRails
, varsa:
CatalogPresenter.new
=> #<CatalogPresenter:0x85bca68 @_routes=nil>
MegaMenu::CatalogPresenter.new
(irb):3: warning: toplevel constant CatalogPresenter referenced by MegaMenu::CatalogPresenter
=> #<CatalogPresenter:0x85750a0 @_routes=nil>
: başarısız
Raylar
- app/models/mega_menu.rb
- app/presenters/catalog_presenter.rb
MegaMenu::CatalogPresenter
yük 10
sample Rails 3.2 app that reproduces this problem'u oluşturdum.
config/application.rb
, app's configured to load files in app/presenters/
.
Bu, uygulama/modeller dizinine aynı şekilde uygulanır mı? Bir uygulama/modeller/kişiler/data.rb var ve veri zaten tanımlanmış olduğundan aynı özel durum var. – joshhepworth
Bu, her yerde geçerli olacaktır. Bu sadece eksik sabitlerin nasıl çözüldüğü meselesi. Her iki modeli de açıkça uyguladığınızdan emin olursanız, bu sorunla karşılaşmamalısınız. –