Ruby on rails 缩短对Rails.application.secrets的调用以提高可读性
我知道这有点吹毛求疵,但当我尝试使用新的[ish]Ruby on rails 缩短对Rails.application.secrets的调用以提高可读性,ruby-on-rails,security,ruby-on-rails-4,readability,Ruby On Rails,Security,Ruby On Rails 4,Readability,我知道这有点吹毛求疵,但当我尝试使用新的[ish]config/secrets.yml文件时,这一点整天都在盯着我。这只会让我的代码变得丑陋。我知道,如果有人试图理解我的项目,那么转向不那么标准的东西可能会是一个问题。。。但是这个项目是非常私人的,我是唯一一个在做它的人 它似乎是ActiveSupport::OrderedOptions的一个实例,所以我似乎不能alias它 如何将SECRET之类的东西别名为Rails.application.secrets,以便调用SECRET.some\u
config/secrets.yml
文件时,这一点整天都在盯着我。这只会让我的代码变得丑陋。我知道,如果有人试图理解我的项目,那么转向不那么标准的东西可能会是一个问题。。。但是这个项目是非常私人的,我是唯一一个在做它的人
它似乎是ActiveSupport::OrderedOptions
的一个实例,所以我似乎不能alias
它
如何将SECRET
之类的东西别名为Rails.application.secrets
,以便调用SECRET.some\u key
获取返回值
我正在寻找一种解决方案:
- 对性能的影响最小
- 对安全性的影响最小甚至为零
非常感谢 为什么不把
Rails.application.secrets
分配到SECRET
或@SECRET
某个地方呢
SECRET = Rails.application.secrets
在控制台中为我工作;然后我可以访问
SECRET.SECRET\u key\u base
等如果您不喜欢SECRET
常量的美观,可以使用另一种方式:
module Secret
def self.for
Rails.application.secrets
end
end
将缩短
Rails.application.secrets.my_value
致:
为什么不把
Rails.application.secrets
分配到SECRET
或@SECRET
的某个地方呢SECRET=Rails.application.secrets
在控制台中为我工作;然后我可以访问SECRET.SECRET\u key\u base
等等。哇!我真的没想到会这么简单。我想补充一点,我只是把它放在我的config/application.rb
文件中,以便在整个项目中访问它。如果你不介意将其作为答案提交,我很乐意为你的答案打分。尽管如此,如果有我没有想到的潜在安全隐患,我还是想听听其他人的意见。谢谢
Secret.for.my_value