And*_*ano 0 ruby rspec ruby-on-rails activesupport rspec-rails
我有以下文件夹结构:
app
??? assets
??? controllers
??? helpers
??? mailers
??? market_adapters
? ??? german.rb
?...
Run Code Online (Sandbox Code Playgroud)
该文件market_adapters/german.rb
是:
module MarketAdapters #(I've also tried naming it singular)
class German
end
end
Run Code Online (Sandbox Code Playgroud)
运行测试时,我收到错误:
/gems/activesupport-5.0.0/lib/active_support/dependencies.rb:512:in
`load_missing_constant': Unable to autoload constant German,
expected .../app/market_adapters/german.rb to define it (LoadError)
Run Code Online (Sandbox Code Playgroud)
添加market_adapters
文件夹autoload_paths
似乎没有任何效果config.autoload_paths << "#{Rails.root}/app/market_adapters"
如果我移动market_adapters
到lib
文件夹,一切正常.但仍然想拥有它app
,任何想法?
顺便说一下,我正在使用Rails 5.
所有子文件夹都会app
自动加载并添加到加载路径中.因此,该文件夹market_adapters
将添加到加载路径,并且调用的文件german.rb
应该定义German
该类.
如果您确实想要使用market_adapters
命名空间并将文件保留在应用程序中,则需要将其存储在文件夹中app/market_adapters/market_adapters/german.rb
.
然而,正确的地方是在lib.
归档时间: |
|
查看次数: |
763 次 |
最近记录: |