在rails config中,您可以将配置设置放在config/application.rb
或config/environments/#{生产|staging|development}.rb
中。如果配置选项发生冲突,哪个文件的配置选项会获胜?
最佳答案
特定于环境的配置优先于application.rb
。您可以在 Rails::Application
的文档中看到这一点。初始加载(第 3 点)发生在 application.rb
中,环境有机会在第 5 点进行覆盖。
Booting process
The application is also responsible for setting up and executing the booting process. From the moment you require “config/application.rb” in your app, the booting process goes like this:
1) require "config/boot.rb" to set up load paths
2) require railties and engines
3) Define Rails.application as "class MyApp::Application < Rails::Application"
4) Run config.before_configuration callbacks
5) Load config/environments/ENV.rb
6) Run config.before_initialize callbacks
7) Run Railtie#initializer defined by railties, engines and application.
One by one, each engine sets up its load paths, routes and runs its config/initializers/* files.
8) Custom Railtie#initializers added by railties, engines and applications are executed
9) Build the middleware stack and run to_prepare callbacks
10) Run config.before_eager_load and eager_load! if eager_load is true
11) Run config.after_initialize callbacks
来源:https://api.rubyonrails.org/classes/Rails/Application.html
关于ruby-on-rails - Rails 中哪个配置文件优先 - config/application.rb 或 config/environments/#{RAILS_ENV}.rb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62198408/