代码之家  ›  专栏  ›  技术社区  ›  M.ElSaka

如何在Rails控制台中加载环境变量?

  •  34
  • M.ElSaka  · 技术社区  · 12 年前

    我认为这是一个简单的小问题!

    我正在使用 .env 文件来保存我的所有环境变量,并且我正在使用 foreman .

    不幸的是,运行rails控制台时没有加载这些环境变量 rails c 因此,我现在在运行控制台后手动加载它们,这不是最好的方法。

    我想知道是否有更好的方法。

    3 回复  |  直到 7 年前
        1
  •  68
  •   dquimper    11 年前

    大约一年前,“run”命令被添加到 foreman

    裁判: https://github.com/ddollar/foreman/pull/121

    您可以按如下方式使用它:

    foreman run rails console

    foreman run rake db:migrate

        2
  •  2
  •   Community CDub    7 年前

    rails不知道.env文件中指定的环境变量,因为它是特定于foreman的。在调用rails控制台之前,您需要显式地设置环境。看一看 this question .

        3
  •  1
  •   Ghis    6 年前

    我个人使用 dotenv 在开发和测试环境中。使用这种方法,您不必为命令加前缀,只需调用 config/application.rb :

    Bundler.require(*Rails.groups)
    
    Dotenv::Railtie.load
    
    HOSTNAME = ENV['HOSTNAME']