首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails3.1应用程序中,config.to_prepare应该去哪里?

在Rails3.1应用程序中,config.to_prepare应该去哪里?
EN

Stack Overflow用户
提问于 2011-10-13 23:14:32
回答 1查看 633关注 0票数 0

我正在尝试使用一个文件,该文件应该在开发过程中一直重新加载,然后在生产环境中加载一次。

我在试着用

代码语言:javascript
复制
config.to_prepare do
  require File.expand_path('config/configatron.rb')
end

这允许在dev中重新加载我的configatron设置。然而,它并不起作用。这意味着它只加载一次,而不是在页面刷新时重新加载。根据文档,它应该是。现在我把它放在我的application.rb里--这是正确的地方吗?如果有人做错了,我做错了什么?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7756347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档