gpt4 book ai didi

ruby-on-rails-3 - 为 Rails 加载配置文件的顺序是什么?

转载 作者:行者123 更新时间:2023-12-03 09:43:50 25 4
gpt4 key购买 nike

我正在尝试为不同的环境初始化不同的 gem。我正在使用初始化配置文件(对于像 Paperclip 这样的东西)和环境配置文件(对于我的 dev、test、qa、prod 环境)。

对于某些情况,我试图让我的 prod 和 qa 服务器将 S3 存储用于 Paperclip,但使用具有不同目录的本地存储用于开发和测试。我不知道这些配置文件的加载顺序。

我想知道是否有人可以对加载顺序有所了解,以便我可以确保我的任何依赖项或覆盖正确。另外,我只是想知道这些东西是如何工作的。

我对下面列出的目录/文件特别感兴趣

config/
environments/
develop.rb
test.rb
...env-specific config files


initializers/
paperclip.rb
...gem-specific config files

application.rb
boot.rb
deploy.rb
environment.rb
routes.rb

谢谢!

最佳答案

导轨 6.0
2019 年 11 月更新:Initialization ProcessConfiguration
与 Rails 5.2 相同
导轨 5.2
2019 年 11 月更新:Initialization Process Configuration
发射

  • railties/exe/rails
  • railties/lib/rails/app_loader.rb
  • 垃圾箱/导轨
  • config/boot.rb
  • rails/commands.rb
  • rails/command.rb
  • actionpack/lib/action_dispatch.rb
  • rails/commands/server/server_command.rb
  • 机架:lib/rack/server.rb
  • 配置/应用程序
  • Rails::Server#start
  • 配置/环境.rb
  • 配置/应用程序.rb

  • 加载
  • railties/lib/rails/all.rb
  • 返回 config/environment.rb
  • railties/lib/rails/application.rb
  • 机架:lib/rack/server.rb

  • 导轨 4.2
    2013 年 9 月更新:对于 Rails 4,它似乎再次发生了变化。现在有一个 Rails-4 Guide on The Rails Initialization Process .你会注意到这个列表比 Rails 3 的列表短得多。我不确定他们是否删除了一些深度或什么......还没有时间仔细阅读:
  • 垃圾箱/导轨
  • config/boot.rb
  • rails/commands.rb
  • actionpack/lib/action_dispatch.rb
  • rails/commands/server.rb
  • 机架:lib/rack/server.rb
  • 配置/应用程序
  • Rails::Server#start
  • 配置/环境.rb
  • 配置/应用程序.rb
  • railties/lib/rails/all.rb
  • 返回 config/environment.rb
  • railties/lib/rails/application.rb
  • 机架:lib/rack/server.rb

  • 有关如何配置其中一些文件的更多详细信息,请参阅 Rails-4 Guide on Configuring Rails Applications

    导轨 3.2
    2013 年 9 月更新:对于 Rails 3,它似乎发生了很大变化。现在有一个 Rails-3 Guide on The Rails Initialization Process :
  • bin/rails railties/lib/rails/cli.rb 脚本/rails config/boot.rb
  • rails/commands.rb actionpack/lib/action_dispatch.rb
  • activesupport/lib/active_support.rb
  • activesupport/lib/active_support/lazy_load_hooks.rb
  • activesupport/lib/active_support/inflector/methods.rb
  • actionpack/lib/action_dispatch.rb 续。 rails/commands/server.rb
  • 机架:lib/rack/server.rb Rails::Server#start config/environment.rb
  • config/application.rb 加载 Railties railties/lib/rails/all.rb
  • railties/lib/rails.rb railties/lib/rails/ruby_version_check.rb
  • active_support/core_ext/kernel/reporting.rb
  • active_support/core_ext/logger.rb railties/lib/rails/application.rb
  • active_support/file_update_checker.rb railties/lib/rails/plugin.rb
  • railties/lib/rails/engine.rb railties/lib/rails/railtie.rb
  • railties/lib/rails/initializable.rb
  • railties/lib/rails/configuration.rb
  • activesupport/lib/active_support/deprecation.rb
  • activesupport/lib/active_support/deprecation/behaviors.rb
  • activesupport/lib/active_support/notifications.rb
  • activesupport/core_ext/array/wrap
  • activesupport/lib/active_support/deprecation/reporting.rb
  • activesupport/lib/active_support/deprecation/method_wrappers.rb
  • activesupport/lib/active_support/deprecation/proxy_wrappers.rb
  • active_support/ordered_options railties/lib/rails/paths.rb
  • railties/lib/rails/rack.rb
  • activesupport/lib/active_support/inflector.rb
  • active_support/inflections
  • activesupport/lib/active_support/inflector/transliterate.rb 返回
  • railties/lib/rails/railtie.rb railties/lib/rails/engine/railties.rb
  • 返回 railties/lib/rails/engine.rb 返回
  • railties/lib/rails/plugin.rb 返回
  • railties/lib/rails/application.rb railties/lib/rails/version.rb
  • activesupport/lib/active_support/railtie.rb
  • activesupport/lib/active_support/i18n_railtie.rb
  • railties/lib/rails/railtie/configuration.rb 返回
  • activesupport/lib/active_support/i18n_railtie.rb 返回
  • activesupport/lib/active_support/railtie.rb
  • activesupport/lib/action_dispatch/railtie.rb
  • activesupport/lib/action_dispatch.rb activemodel/lib/active_model.rb
  • activesupport/lib/active_support/i18n.rb 返回
  • activesupport/lib/action_dispatch.rb 返回
  • activesupport/lib/action_dispatch/railtie.rb 返回
  • railties/lib/rails.rb 返回 railties/lib/rails/all.rb
  • activerecord/lib/active_record/railtie.rb
  • activerecord/lib/active_record.rb 返回
  • activerecord/lib/active_record/railtie.rb
  • actionpack/lib/action_controller/railtie.rb
  • actionpack/lib/action_view.rb

  • 有关如何配置其中一些文件的更多详细信息,请参阅 Rails-3 Guide on Configuring Rails Applications

    导轨 2.3
    最初(2011 年 12 月),我偶然发现了一篇博客文章,其中对 How the Initialization Process Worked for Rails 2 有很好的解释。 .
  • config/preinitializer.rb
  • 配置/环境.rb
  • 配置/环境/#{RAILS_ENV}.rb
  • 插件初始化
  • gem 初始化
  • 配置/初始化器/*.rb
  • 所有 after_initialize 块,按照它们定义的顺序(与上面的顺序相同)
  • 在 environment.rb 中 Rails::Initializer.run 调用/块下方留下的任何垃圾

  • 有关如何配置其中一些文件的更多详细信息,请参阅 Rails-2 Guide on Configuring Rails Applications

    关于ruby-on-rails-3 - 为 Rails 加载配置文件的顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8672803/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com