我的第一个疑问是yml和yaml之间有什么区别。我应该使用哪一个。另外,我必须将我的标签放在yml文件中并加载它们。所以我不知道该怎么做。任何示例或教程都非常有用。
答案 0 :(得分:0)
' YML'是您用于YAML'文件,所以它们之间没有区别。
在Ruby中加载YAML文件就像YAML.load_file( <filename> )
一样简单:它将整个文件作为普通哈希读取。
要转换回yaml,请使用同名方法to_yaml
。
答案 1 :(得分:0)
设置Rails环境变量。在Rails中使用ENV变量,在本地和Heroku使用。 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:
强>
希望这有助于您的回答!!!