【问题标题】:How do i define a second environment.rb file in rails?如何在 rails 中定义第二个 environment.rb 文件?
【发布时间】:2010-08-20 20:14:14
【问题描述】:

我的默认 environment.rb 溢出了,我希望有一个工作方式完全相同的单独文件。我该怎么做?

【问题讨论】:

    标签: ruby-on-rails environment-variables


    【解决方案1】:

    您可能会在环境文件中添加一些应该在初始化程序中的内容。检查 config/initializers 目录以获取其中的一些示例。这应该能让你把事情分解,让一切更有条理。

    【讨论】:

    • 有趣!初始化程序中应该有什么,环境中应该有什么?什么是“正确的轨道”方式?
    • 我通常将 environment.rb 文件用于已经存在的设置,例如 config.gem ...。任何其他不特定于环境的东西都放在初始化程序中。 ryandaigle.com/articles/2007/2/23/…
    【解决方案2】:

    Rails 实际上是使用eval 来加载config/environments/development.rb 等特殊环境文件。这是它使用的代码:

    eval(IO.read(configuration.environment_path), binding, configuration.environment_path)
    

    您可以像这样定义load_more_environment 之类的方法:

    def load_more_environment(path)
      eval(IO.read(path), binding, path)
    end
    

    eval 的第一个参数只是您要加载的代码,它将在当前binding 中执行。第三个参数将用于报告文件中的语法错误。

    【讨论】:

    • 这很有趣。谢谢! =)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多