在我从零设置的vps之前从未遇到过这样的问题,其中一个(Ubuntu 12.04,64bit)是由其他开发人员安装的。
问题
在.bashrc
文件中我有:
export FACEBOOK_ID=123456789
export FACEBOOK_SECRET=987654321
现在在终端,如果我输入env
我看到这些变量。
如果我打开rails console
并输入ENV["FACEBOOK_ID"]
或ENV["FACEBOOK_SECRET"]
,我也可以看到合适的值。
问题是我必须在视图文件中的应用程序中使用FACEBOOK_ID
,我这样做:
<%= ENV["FACEBOOK_ID"] %>
在本地计算机上返回正确的值,在vps的生产中它不返回任何内容。
我的想法是vps设置不正确,我找不到apache或ngnix,应用程序在var/www/apps/app_name/
。
可能出现什么问题,如何在模板中获取此env变量?
更新
根目录中可用的文件:
.bash_profile .bashrc .cshrc .zprofile .zshrc
答案 0 :(得分:3)
请勿将其放在当地环境中。部署应用程序时该怎么办?如果您想在本地计算机上开发另一个使用Facebook ID的应用程序,该怎么办?
使用费加罗宝石。它是为处理此类案例,env变量和私有数据而构建的。 env变量可以在app中的YAML文件中设置,不会提交给repo。你不会后悔的。