我想预加载配置(来自“.yml”文件)。在我的初始化文件(配置/初始化/ facebook.rb)我有代码以下行:Rails预编译常量未初始化
FACEBOOK_CONFIG = YAML.load_file("#{Rails.root}/config/facebook.yml")[Rails.env]
所以,它的工作原理就像在“发展”模式的魅力。一旦我切换到生产模式,它会一直告诉我,FACEBOOK_CONFIG对于我的“facebook.js.coffee.erb
”文件是一个未初始化的常量,位于资产/ javascript(如果有要求),如果我想要“耙资产:预编译” 。我试着做随机的东西,如:RAILS_ENV=production bundle exec rake assets:precompile
或
耙资产:预编译:所有
,但没有运气
我曾尝试为分配我的生产环境“”变量(尽管默认情况下应该是这样),以防万一。
为什么它不能在生产模式下工作(但是,我想强调一下,它在开发环境中工作(!))。
有人可以帮助那个吗?
你的yml文件是什么样子的(当然减去你的凭证),你是在生产模式下在本地启动还是在像heroku这样的服务上失败? – 2013-12-06 01:16:13
你可以试着在初始化文件中引发一个异常,看看它是否被触发?另一个要尝试的是,在初始化文件上引发一个异常,并运行一个不同的Rake任务,该任务也会加载Rails环境。尝试开发和生产环境(RAILS_ENV =生产) – htanata 2013-12-06 01:47:47