Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.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 在Rails5(和使用经典autoloader的Rails6)中包含'lib/`文件的推荐方式是什么?_Ruby On Rails - Fatal编程技术网

Ruby on rails 在Rails5(和使用经典autoloader的Rails6)中包含'lib/`文件的推荐方式是什么?

Ruby on rails 在Rails5(和使用经典autoloader的Rails6)中包含'lib/`文件的推荐方式是什么?,ruby-on-rails,Ruby On Rails,在过去,在lib/目录中有文件的Rails开发人员被告知将lib目录添加到自动加载路径中,方法是在config/application.rb中添加这样一行: config.autoload_paths << "lib" config.autoload_路径根据本次讨论,您应该将您的lib放在app/lib下。或者不是。对于“合适”的方式有不同的看法。在Rails 5之前使用的经典自动加载器与Rails 6中引入的Zeitwork完全不同。因此,同样的建议不适用于Rails 5和6。

在过去,在
lib/
目录中有文件的Rails开发人员被告知将lib目录添加到自动加载路径中,方法是在
config/application.rb
中添加这样一行:

config.autoload_paths << "lib"

config.autoload_路径根据本次讨论,您应该将您的lib放在
app/lib
下。或者不是。对于“合适”的方式有不同的看法。

在Rails 5之前使用的经典自动加载器与Rails 6中引入的Zeitwork完全不同。因此,同样的建议不适用于Rails 5和6。如果您想了解自动加载在Rails 6中的工作原理,我建议您阅读。指南还没有完全跟上,Rails中的术语是错误的。这是一个公平的观点。我会特别指出我指的是经典的自动加载器。在Rails 6中,推荐的方法是尽快切换到Zeitwork。经典的自动加载器早在2004年就设计好了,它依赖于
const\u missing
。从那时起,Ruby得到了巨大的发展,Zeitwork使用Rubys native
模块#autoload
。Zeitwork没有许多经典自动装弹机的已知问题。