我已经安装了dotenv gem
gem 'dotenv-rails', require: 'dotenv/rails-now'
我用一些键=值创建.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.<< "nn#...
...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(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.<< "nn#...
... ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(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)
我做错了什么?
您缺少一个勾号 ':ENV['WALLET_DATABASE_DEVELOPMENT_USER]
应该ENV['WALLET_DATABASE_DEVELOPMENT_USER']
.