【发布时间】:2014-08-15 22:33:03
【问题描述】:
我的 ~/.bashrc 文件中有设置变量,我想在我的 Rails 应用程序中使用这些变量。问题是 Rails 无法识别这些变量。
bashrc:
export MYSQL_DB_USERNAME=admin
export MYSQL_DB_PASSWORD=testing123
Rails 应用 - database.yml
username: <%= ENV["MYSQL_DB_USERNAME"] %>
password: <%= ENV["MYSQL_DB_PASSWORD"] %>
如果我进入 rails 控制台并输入:
ENV["MYSQL_DB_USERNAME"]
我回来了:<= nil
我已经重新加载了我的 bashrc 文件并重新启动了终端。都没有奏效。为什么 Rails 不会从 bashrc 文件中读取这些变量?
(我正在使用 RVM 进行 ruby 版本管理,以防万一)。
谢谢。
【问题讨论】:
-
你可以在你的数据库 yml 中使用 erb 吗?见这里stackoverflow.com/questions/4204724/…
-
您可以尝试在命令行中指定变量来看看会发生什么吗?例如:
FOO=bar ruby -e "puts ENV['FOO']" -
只是为了确保:在运行
rails console之前,您是否source ~/.bashrc? -
@vee - 我发誓我试过了,当然,现在它正在工作。但问题 - 当我重新启动终端时,它会停止工作,直到我重新运行
source ~/.bashrc。我的 bashrc 文件中是否也需要该行? -
我在 bash_profile 的末尾添加了
source ~/.bashrc。这是个好主意吗?
标签: ruby-on-rails bash ruby-on-rails-4