可以在初始化程序中访问rails模型中的模块变量吗?

时间:2015-08-01 18:40:20

标签: ruby-on-rails ruby

我在config/initializers中有一个文件需要访问某些常量,最秘密。我在module中创建了app/models,并希望将初始值设定项中的常量称为MODULE.something。但后来我发现可能在初始化程序中无法访问这些数据。我该怎么办?我怎样才能确保一些变量(应该在任何地方都可以访问)首先出现,甚至在初始化器之前?

对于记录,我将应用程序数据称为twitter / facebook api密钥

1 个答案:

答案 0 :(得分:0)

首先,您的API密钥是秘密的,不应存储在您的代码库中。假设模块安全地加载密钥,我建议您将模块存储在lib/modules目录中。然后,您可以将其加载到config/initializers目录中的初始化程序中。 Rails在加载模型和其他应用程序文件之前按字母顺序执行初始化程序,因此您可以通过使用前置数字命名初始化程序来确保首先加载此模块,例如: 01_secure_key_module.rb