0

我正在使用带有 Rails 3.2 的 Foreman 的 RVM。我的应用程序根目录中有一个 .env 文件,该文件应该与 Foreman 一起加载。但显然,当我ENV['DATABASE_NAME']database.yml. 但奇怪的是,在使用硬编码的数据库名称加载 rails 后,我可以打开控制台并访问ENV['DATABASE_NAME']. 工头也确实无法访问ENVProcfile我有另一个可以ENV在 devise.rb 中访问的 rails 4 应用程序,它是初始化程序之一,但是当我将其放入时ENV['DATABASE_NAME']database.yml它会启动服务器正常,但是当应用程序尝试访问时无法打开页面数据库。所以看起来 ENV 只由 rails 加载,在 rails 本身加载之后。您如何允许它也可以通过Procfileand访问database.yml

4

1 回答 1

1

如果您展示您的个人资料和 .env 的示例,那么有人会更容易提供帮助。

我从您的问题中猜测是您在 Procfile 中错误地使用了 env 变量。

例如,如果在 .env 你有 PORT=3000

然后在您的个人资料中,它被称为 $PORT - 而不是 ENV['PORT']

在诸如配置初始化程序之类的红宝石文件中,您将使用 ENV['FOO']

于 2013-07-01T03:20:27.740 回答