【发布时间】:2014-10-21 19:38:03
【问题描述】:
我有一个 Rails 3.2.x 应用程序,我将在多个服务器上安装它,每个服务器都用于不同的公司。因此,徽标路径、twilio API 密钥、某些视图文本简介等内容将因公司而异。每个服务器实例都将使用相同的 github 代码库 repo,但我需要像这些项目这样的配置在每个服务器上都不同。
我正在阅读如何使用 ENV 变量设置这样的东西,但我有点困惑。我基本上希望有一个 github repo 来跟踪,但每个公司/服务器有不同的配置。
我在想我可以创建一个包含这些 ENV 变量的 config/application.yml 文件,但我不确定如何让 rails 加载该文件。我会将 config/application.yml 添加到 .gitignore 并在 app/shared/config 下的每个服务器上手动创建一个单独的 config/application.yml 文件,并在我的 Capistrano deploy.rb 中执行符号链接。
谁能帮我指出在 application.yml 文件中设置 ENV 变量并让我的 Rails 应用程序加载它们以便可以从视图、控制器、模型等中调用它们的正确方向?
【问题讨论】:
-
是的,在你的 deploy.rb 中只是将配置文件链接到服务器本地文件,不是很花哨,但很容易做到。
标签: ruby-on-rails-3 git github environment-variables yaml