当前位置: 首页 > 知识库问答 >
问题:

Rails使用yml文件

逄征
2023-03-14

我的第一个疑惑是yml和yaml有什么区别?我应该用哪一个。此外,我必须把我的标签在yml文件,并加载它们。所以我不知道该怎么做。这方面的任何例子或教程都会非常有帮助。

共有2个答案

司徒云
2023-03-14

yml”是用于“YAML”文件的扩展名,因此它们之间没有区别。

在Ruby中加载YAML文件就像< code>YAML.load_file(

你可以从这里或这里开始

颜镜
2023-03-14

设置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"

选项二:使用费加罗宝石

  • 这使您可以方便地在代码中使用相同的变量,无论它们是由Unix shell还是figaro gem的config/application.yml设置的。配置/应用程序中的变量。yml文件将覆盖在Unix shell中设置的环境变量
  • 使用此语法在开发、测试或生产环境中设置不同的凭据:

**

HELLO: world
development:
  HELLO: developers
production:
  HELLO: users

**

在这种情况下,ENV[“HELLO”]将在开发中生成“开发人员”,在生产中生成“用户”,否则生成“世界”。

选项三:使用local_env.yml文件

创建文件配置/local_env.yml:

希望这有助于你的回答!!!

 类似资料:
  • 在Spring Boot中,我知道我可以替换应用程序。属性与应用程序。yml并使用YAML格式。然而,我的申请。yml越来越拥挤了,所以我需要把它分开一点。我该怎么做?我想这样做:

  • 我是新来的。我想知道他们的任何其他方法来设置连接端口,管理端口,记录器级别和所有配置参数,而不是通过使用。YML 文件。

  • 我正在使用Java和spring boot。我想知道如何将Property占位符添加到文件。我找到了一些清晰的示例,但我不确定Property占位符在哪里实例化。它是否在系统env变量、文件等中。。? Bootstrap.yml 用户正在使用属性占位符,但用户在哪里声明了它们?这个 .yml 从哪里读取值?(与上述问题相同)是否有解释连接的文档? 此Web应用程序将使用“cf推送”推送到云代工厂,

  • 问题内容: 我在网上找不到直接的答案。 Spring Boot的yml文件是否彼此“继承”?我的意思是如果我有: 其中有 而且只有 因此,如果我以活动配置文件启动Spring Boot ,是否还将属性设置为? 问题答案: 是的,文件的优先级高于任何文件。特定于配置文件的yml文件中的属性将覆盖默认文件中的值,特定于配置文件的yml文件中不存在的属性将从默认文件中加载。它适用于文件以及或。 Spri

  • 当使用Spring Cloud AWS进行回购时,我注意到application.yml包含 但我找不到这些属性在哪里使用。通常,yml属性是通过@Value或@ConfigurationProperties导入的,但是在repo中没有用于它们的注释。 pom。xml文件具有和依赖项,我猜它们使用了属性。 每当我添加自定义属性,如,pom.xml抱怨未知属性。 我实际上不知道yaml文件中的属性如