我正在尝试使用一个文件,该文件应该在开发过程中一直重新加载,然后在生产环境中加载一次。
我在试着用
config.to_prepare do
require File.expand_path('config/configatron.rb')
end这允许在dev中重新加载我的configatron设置。然而,它并不起作用。这意味着它只加载一次,而不是在页面刷新时重新加载。根据文档,它应该是。现在我把它放在我的application.rb里--这是正确的地方吗?如果有人做错了,我做错了什么?
谢谢
发布于 2011-12-30 17:02:22
我把我的to_prepare块放在初始化器中。
您的代码有问题。
来自所需的文档:http://ruby-doc.org/core-1.9.3/Kernel.html#method-i-require
将加载文件的绝对路径添加到$LOADED_FEATURES ( $“)中。如果文件的路径已经出现在$”中,则不会再次加载该文件。例如,需要'a';需要'./a‘将不会再次加载a.rb。
即使在每个环境之前调用您的块,reload require也不会再次加载您的configuration.rb文件。
您可以尝试使用require_dependency How are require, require_dependency and constants reloading related in Rails?重写代码,而不是使用to_prepare
https://stackoverflow.com/questions/7756347
复制相似问题