我想添加一个我写入Rails应用程序的库(以及之后的其他Rails应用程序)。我尝试将它放在/lib
中,似乎合乎逻辑......
[RAILS_ROOT]/lib/my_lib/the_main_file.rb
[RAILS_ROOT]/lib/my_lib/some_other_file.rb
则...
require 'my_lib/the_main_file'
工作正常。
但这是一个很好的方法吗?
现在我必须把require
放在我想要调用库的地方。
我考虑过将require
放在初始化程序中,但这看起来很奇怪。
人们通常会对此做些什么?
答案 0 :(得分:1)
我不确定“最佳实践”(tm)或其他任何东西,但我们也为我们的项目做了类似的事情。该库位于lib
,require
位于初始值设定项中(app_config.rb
)。这似乎是一种做事的好方法,并且到目前为止还没有让我们陷入困境:)希望有所帮助。
答案 1 :(得分:1)
当你要包含一个文件时,使用初始化程序可能看起来很奇怪,但有时候我想要添加许多文件,最后使用只包含东西的初始化程序。它实际上非常整洁。
答案 2 :(得分:0)
我通常在课堂上把我的东西包起来。如果您向config.autoload_paths += %W(#{config.root}/lib)
添加application.rb
,那么对缺失常量的任何引用都会导致尝试自动加载它,即只使用MyClass.new
将尝试加载`lib / my_class。 RB”。