【问题标题】:DotEnv doesnt load values in database.ymlDotEnv 不会在 database.yml 中加载值
【发布时间】:2018-09-06 17:41:03
【问题描述】:

我已经安装了 dotenv gem

gem 'dotenv-rails',需要:'dotenv/rails-now'

我用一些 KEYS=values 创建 .env 文件

现在我想在 config/database.yml 文件中使用来自 .env 的值。

default: &default
  adapter: mysql2
  encoding: utf8
  pool:  5
  host: localhost
  port: 3306
  socket: /var/run/mysqld/mysqld.sock

development:
  <<: *default
  database: wallet_development
  username: <%= ENV['WALLET_DATABASE_DEVELOPMENT_USER] %>
  password: <%= ENV['WALLET_DATABASE_DEVELOPMENT_PASSWORD'] %>

当我运行 db:create 时出现错误

rake aborted!
SyntaxError: (erb):24: syntax error, unexpected tCONSTANT, expecting ']'
...T_DATABASE_DEVELOPMENT_PASSWORD'] ).to_s); _erbout.<< "\n\n#...
...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(erb):32: syntax error, unexpected tCONSTANT, expecting ')'
... ENV['WALLET_DATABASE_TEST_USER'] ).to_s); _erbout.<< "\n  p...
...      ^~~~~~~~~~~~~~~~~~~~~~~~~
(erb):33: syntax error, unexpected tCONSTANT, expecting ')'
...['WALLET_DATABASE_TEST_PASSWORD'] ).to_s); _erbout.<< "\n\n#...
...  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(erb):52: syntax error, unexpected tCONSTANT, expecting ')'
... _erbout.<<(( ENV['DATABASE_URL'] ).to_s); _erbout.<< "\n#\n...
...                   ^~~~~~~~~~~~
(erb):57: syntax error, unexpected tCONSTANT, expecting ')'
...WALLET_DATABASE_PRODUCTION_USER'] ).to_s); _erbout.<< "\n  p...
...^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(erb):58: syntax error, unexpected tCONSTANT, expecting ')'
...ET_DATABASE_PRODUCTION_PASSWORD'] ).to_s); _erbout.<< "\n".f...
...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(erb):59: unterminated string meets end of file
; _erbout
         ^
(erb):59: syntax error, unexpected end-of-input, expecting ')'
; _erbout
         ^
/home/kru0096/.rvm/gems/ruby-2.4.1/gems/railties-5.2.1/lib/rails/application/configuration.rb:172:in `database_configuration'
/home/kru0096/.rvm/gems/ruby-2.4.1/gems/activerecord-5.2.1/lib/active_record/railtie.rb:39:in `block (3 levels) in <class:Railtie>'
/home/kru0096/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => db:create => db:load_config
(See full trace by running task with --trace)

我做错了什么?

【问题讨论】:

    标签: ruby-on-rails environment-variables


    【解决方案1】:

    您缺少一个勾号':ENV['WALLET_DATABASE_DEVELOPMENT_USER] 应该是ENV['WALLET_DATABASE_DEVELOPMENT_USER']

    【讨论】:

      猜你喜欢
      • 2019-05-02
      • 1970-01-01
      • 2020-10-25
      • 2018-09-27
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多