sa1*_*125 5 ruby-on-rails production-environment
我有一个位于RAILS_ROOT/lib文件夹中的类,我在其中一个帮助器中使用它,它在开发中很有用.
当我切换到生产时,应用程序抛出一个NameError (uninitialized constant SomeHelper::SomeClass),我必须在帮助器中手动加载它:
load "#{Rails.root}/lib/some_class.rb"
module SomeHelper
def some_method
sc = SomeClass.new
# blah
end
end
Run Code Online (Sandbox Code Playgroud)
我的印象是RAILS_ROOT/lib/*里面的所有内容都应该可以在应用程序中使用 - 我需要配置什么才能在prod模式下实现这一点?谢谢.
当你调用 SomeHelper::SomeClass 时,Rails 的自动加载机制将尝试加载 lib/some_helper/some_class.rb 处的文件
Rails 不会加载 lib/* 中的所有内容,它只会在发生 ConstMissing 时尝试加载文件。
| 归档时间: |
|
| 查看次数: |
765 次 |
| 最近记录: |