Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3::config/initializer为每个环境提供单独的目录_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails 3::config/initializer为每个环境提供单独的目录

Ruby on rails Rails 3::config/initializer为每个环境提供单独的目录,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,在Rails 3+中,在每个环境的单独子目录中分离出初始值设定项的最佳方法是什么 我听说配置/初始值设定项的所有子目录都将被选取,因此每个环境的子目录将无法工作,除非创造性地进行猴子补丁 示例:config/../initializers/*.rb\config/application.rb 模块MyProject 类应用程序

在Rails 3+中,在每个环境的单独子目录中分离出初始值设定项的最佳方法是什么

我听说配置/初始值设定项的所有子目录都将被选取,因此每个环境的子目录将无法工作,除非创造性地进行猴子补丁

示例:config/../initializers/*.rb

\config/application.rb
模块MyProject
类应用程序

这个答案避免了让Rails::引擎工作的复杂性,这要归功于meetup和friends的Bosco。它还允许通过命令行/shell设置进行重写,并与Heroku一起使用

0)更改如下所示的config/initializer/***.rb:

FB_SECRET_KEY = 'kjkjdsfkjalsfyoursecretherelkjsdfljkasdfljdjlf'
致:

1) 我在.gitignore中创建了一个config/secrets.rb,如下所示:

ENV['APPNAME_FB_SECRET_KEY'] ||= 'kjkjdsfkjalsfyoursecretherelkjsdfljkasdfljdjlf'

. . . 
2) 将此行添加到脚本/rails的开头:

require File.expand_path('../../config/secrets', __FILE__)
3) 以及对.gitignore的添加

config/secrets.rb

额外)添加一个config/secrets.rb.example模板文件,该文件不在.gitignore中。

未测试。可能会折断并伤害小孩。这还不太管用。原始load_config_初始值设定项仍会查看原始path.config.initializer。这可能需要过度隐藏load_config_初始值设定项,并将其替换到初始值设定项“列表”中。此外,我搞砸了,因为我不需要rails中的内容进行修改。这最适合于不同环境但不需要在生产中更改的初始值设定项。目标是应用程序通常不需要更改代码来更改公共设置。这种方式非常适合生产可配置设置(邮件凭证、oauth令牌等)
config/secrets.rb