【发布时间】:2016-03-25 03:41:14
【问题描述】:
我的第一个疑问是 yml 和 yaml 有什么区别。我应该使用哪一个。我还必须将我的标签放在 yml 文件中并加载它们。所以我不知道该怎么做。任何示例或教程都会非常有帮助。
【问题讨论】:
标签: ruby-on-rails
我的第一个疑问是 yml 和 yaml 有什么区别。我应该使用哪一个。我还必须将我的标签放在 yml 文件中并加载它们。所以我不知道该怎么做。任何示例或教程都会非常有帮助。
【问题讨论】:
标签: ruby-on-rails
设置 Rails 环境变量。在 Rails 中、本地和 Heroku 中使用 ENV 变量。 Rails 配置和环境变量的安全性。
环境变量
许多应用程序需要配置设置,例如电子邮件帐户凭据或外部服务的 API 密钥。您可以使用环境变量将本地配置设置传递给应用程序。
操作系统(Linux、Mac OS X、Windows)提供设置本地环境变量的机制,Heroku 和其他部署平台也是如此。这里我们展示了如何在 Unix shell 中设置本地环境变量。我们还展示了在没有 Unix shell 的情况下在应用程序中设置环境变量的两种替代方法。
Gmail 示例
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: "example.com",
authentication: "plain",
enable_starttls_auto: true,
user_name: ENV["GMAIL_USERNAME"],
password: ENV["GMAIL_PASSWORD"]
}
您可以将您的 Gmail 用户名和密码“硬编码”到文件中,但这会将其暴露给有权访问您的 git 存储库的每个人。而是使用 Ruby 变量 ENV["GMAIL_USERNAME"] 来获取环境变量。该变量可以在 Rails 应用程序的任何地方使用。 Ruby 会将 ENV["GMAIL_USERNAME"] 替换为环境变量。
选项一:设置 Unix 环境变量
export GMAIL_USERNAME="myname@gmail.com"
选项二:使用费加罗宝石
**
HELLO: world
development:
HELLO: developers
production:
HELLO: users
**
在这种情况下,ENV["HELLO"] 将在开发中产生“开发者”,在生产中产生“用户”,否则产生“世界”。
选项三:使用 local_env.yml 文件
Create a file config/local_env.yml:
希望这对您的回答有所帮助!!!
【讨论】: