我想預加載配置(來自「.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