在Rails 6中,可以使用ActiveSupport
模块提供的autoload_once_paths
来实现只加载一次全局变量的功能。这个配置项允许我们指定一个目录或文件,其中的代码只会在应用程序启动时被加载一次,之后就会被缓存起来,不会重复加载。
要实现只加载一次全局变量,可以按照以下步骤进行操作:
config/application.rb
。Rails::Application
类的定义,通常会看到以下代码:module YourAppName
class Application < Rails::Application
# ...
end
end
autoload_once_paths
为一个数组,并将包含全局变量的文件或目录的路径添加到数组中:module YourAppName
class Application < Rails::Application
# ...
config.autoload_once_paths << "#{Rails.root}/path_to_your_file_or_directory"
end
end
替换path_to_your_file_or_directory
为包含全局变量的文件或目录的实际路径。
这样配置后,包含全局变量的文件或目录中的代码将只会在应用程序启动时被加载一次,之后就会被缓存起来,不会重复加载。
注意:在Rails 6中,默认已经包含了config.autoload_once_paths
的设置,通常会包含/lib
目录。因此,如果你的全局变量所在的文件或目录在/lib
下,通常不需要额外的配置。
领取专属 10元无门槛券
手把手带您无忧上云