美文网首页
Ruby yaml文件中使用环境变量ENV

Ruby yaml文件中使用环境变量ENV

作者: ifree321 | 来源:发表于2019-12-02 12:02 被阅读0次

项目代码需要连接多个数据库, 数据库配置使用了自定义的yaml文件,而如果需要在yaml文件中像在html中使用<%= %>的方式注入ruby代码,则需要使用ERB class来处理(如果是类似于database.yml这种gem自带的配置文件,是可以直接使用<%= %>的方式加入ruby代码的)

使用方式如下(使用了自定义的config/master_database.yml文件:


template = ERB.new File.new(File.join(Rails.root, "config", "master_database.yml")).read
MASTER_DB = YAML.load(template.result(binding))[Rails.env.to_s]

master_database.yml文件中即可以使用ruby代码了,例如:

development: &default
  adapter:  postgresql
  database: <%= ENV["MASTER_DB_NAME"] || 'db_name' %>
  host:     <%= ENV['MASTER_DB_HOST'] || '127.0.0.1' %>
  port:     <%= ENV['MASTER_DB_PORT'] || '5432' %>
  username: <%= ENV['MASTER_DB_USERNAME'] || 'postgres' %>
  password: <%= ENV['MASTER_DB_PASSWORD'] || 'postgres' %>

  encoding: unicode
  pool: 100

production:
  <<: *default

相关文章

  • Ruby yaml文件中使用环境变量ENV

    项目代码需要连接多个数据库, 数据库配置使用了自定义的yaml文件,而如果需要在yaml文件中像在html中使用<...

  • ThinkPHP5 环境变量 .env 文件

    .env 文件被加载 使用 环境变量 .env 文件使用

  • robot数据分层

    使用yaml导入变量 使用yaml保存配置文件,然后直接导入,可以获取环境变量 在robot中,引入该yaml文件...

  • env:查看环境变量的命令

    env 用env查看环境变量,常见环境变量说明:HOME:用户的主文件夹SHELL:目前环境使用的shellHIS...

  • 【VUE】环境变量配置

    以下文件都放置在项目根目录 一、环境变量env有关的文件.env # 在所有的环境中...

  • K8s Configmap 使用

    configmap,用来为pod提供配置文件或者环境变量创建方法: 使用yaml文件 配置文件中,创建了一个"TE...

  • Vue小知识

    环境变量 在process.env中就可以访问到当前环境变量,应用于baseURL配置,可在 .env 文件中以 ...

  • 02-yarn整合axios

    0 vite环境变量 在浏览器环境里使用环境变量,打印如下变量 在项目根目录下创建.env文件,内容 在ts代码中...

  • create-react-app:多环境变量

    1.使用cross-env配置多环境变量 2.在项目根目录下创建多环境文件:.env.development ,....

  • docker-compose安装PXC集群

    docker-compose安装pxc集群 用到的文件 docker-compose.yaml文件 .env文件 ...

网友评论

      本文标题:Ruby yaml文件中使用环境变量ENV

      本文链接:https://www.haomeiwen.com/subject/crixgctx.html