Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何方便地在Rails应用程序中提供一些代码?_Ruby On Rails - Fatal编程技术网

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

Ruby on rails 如何方便地在Rails应用程序中提供一些代码?,ruby-on-rails,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放在一个初始值设定项中,但这似乎

我想将我编写的库添加到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
放在一个初始值设定项中,但这似乎有点奇怪


人们通常对此做些什么?

我不确定“最佳实践”(tm)或其他什么,但我们也为我们的项目做了类似的事情。库位于
lib
中,而
require
位于初始值设定项中(
app_config.rb
)。这似乎是一个很好的方法,到目前为止还没有伤害到我们:)希望这会有所帮助。

当您要包含一个文件时,使用初始值设定项可能看起来很奇怪,但有时我有许多文件要添加,最后使用的是只包含内容的初始化器。它实际上相当整洁。

我通常在课堂上整理我的东西。如果将
config.autoload_路径+=%W(#{config.root}/lib)
添加到
application.rb
中,则对缺少的常量的任何引用都将导致尝试自动加载,即仅使用
MyClass.new
将使其尝试加载'lib/myu class.rb'

看看