为什么我的ec2机器上的puma.stderr.log中出现此错误“错误的URI(不是URI?)”

时间:2019-04-20 14:58:18

标签: ruby-on-rails puma

在我的ec2机器上启动puma时,出现以下错误:错误的URI(不是URI?):<%= ENV ['DATABASE_URL']%>(URI :: InvalidURIError),因为我没有不知道为什么当我用真实的url替换url的嵌入式ruby代码时,该应用程序可以正常工作。

我的数据库。yml:

default: &default
  adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  port: 5432
development:
  <<: *default
  database: <%= ENV['DATABASE_NAME'] %>
  username: <%= ENV['DATABASE_USERNAME'] %>
  password: <%= ENV['DATABASE_PASSWORD'] %>
production:
  <<: *default
  url: <%= ENV['DATABASE_URL'] %>

我使用dotenv gem,并从项目目录中的另一个文件中加载环境变量。 另外,要知道当我在ec2机器上打开rails控制台时,我可以毫无问题地连接到数据库。

有人可以帮助我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我在another stackoverflow question中找到了答案。问题是database.yml不接受erb。所以,我尝试做一个喜欢上一个问题的答案,并且效果很好