如何从数据库加载配置,仅在应用程序重新启动或触摸URL时刷新
好的,我有一个Rails 3应用程序,我使用CouchDB作为我的主数据库,以利用它的复制功能。
无论如何,我想要做的是将一些配置类型的东西存储在数据库中的1个文档中,并在应用程序在生产中启动时加载此配置文件的值一次,并且仅在用户进入管理面板并显式请求时重新加载它会发生。我想通过触摸URL来清除加载的配置或其他东西。
我的想法是我只是在application_controller中创建一个before_filter,但由于我是rails的新手,我不知道这是否是正确的方法。
before_filter :get_config
private
def get_config
@config = Config.get('_id')
end
显然,这将运行我不想要或不需要的每个请求。有没有办法保存配置输出,所以我不必每次请求获取它,或者是否有更好的方法来执行此操作。
提前致谢。
没有找到相关结果
已邀请:
1 个回复
耐钨徒
只有当
为假或零时才会调用
。否则,$ config wiil保持不变。 棘手的部分是整个应用程序中存在的全局变量(以
符号开头)。所以
随处可用(对于粗心的设计来说这将是一个问题!) 另一点是,正如你所说的你是rails的新手,我建议你在使用它之前阅读更多有关全局变量的内容,并且不要对它进行补充。