如何在Rails应用程序中方便地提供一些代码?

时间:2010-11-15 20:37:28

标签: ruby-on-rails

我想添加一个我写入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放在初始化程序中,但这看起来很奇怪。

人们通常会对此做些什么?

3 个答案:

答案 0 :(得分:1)

我不确定“最佳实践”(tm)或其他任何东西,但我们也为我们的项目做了类似的事情。该库位于librequire位于初始值设定项中(app_config.rb)。这似乎是一种做事的好方法,并且到目前为止还没有让我们陷入困境:)希望有所帮助。

答案 1 :(得分:1)

当你要包含一个文件时,使用初始化程序可能看起来很奇怪,但有时候我想要添加许多文件,最后使用只包含东西的初始化程序。它实际上非常整洁。

答案 2 :(得分:0)

我通常在课堂上把我的东西包起来。如果您向config.autoload_paths += %W(#{config.root}/lib)添加application.rb,那么对缺失常量的任何引用都会导致尝试自动加载它,即只使用MyClass.new将尝试加载`lib / my_class。 RB”。

查看Best way to load module/class from lib folder in Rails 3?