我有一個rails 4應用程序,我們在其中使用cloudfront作爲CDN。Rails 4應用程序 - Heroku/Cloudfront - 資產不能從原產地正確投放
在production.rb
文件中,我們有下面的代碼:
config.action_controller.asset_host = "example3579.cloudfront.net"
我們做了一些相當徹底的資產分離。從資產管道的角度來看,這可能不是可取的,但它應該使得調試這個問題非常容易。
我正在處理的特定頁面是users#edit
視圖,但問題是普遍的。
的users#edit
操作使用它自己的佈局:views/layouts/user_edit.html.erb
的views/layouts/user_edit.html.erb
文件調用這個JavaScript。
<%= javascript_include_tag 'user_edit'%>
資產/ Java腳本/ user_edit.js
//= require jquery
//= require jquery_ujs
//= require jquery.validate.min
//= require ./webarch/form_validations
在本地主機,這個工程。我可以訪問JS在這樣的瀏覽器:
http://localhost:3000/assets/user_edit.js
但在生產與Heroku的,該網站看起來此文件:
<script src="http://example3579.cloudfront.net/javascripts/user_edit.js"></script>
文件不起作用。我無法在瀏覽器中訪問,但JavaScript不會在頁面上呈現。我已經預先編譯了資產。
我有軌12的因素,但配置' .assets.compile = false'。現在改變。 – miler350 2015-03-13 13:49:59
好吧,讓我知道接下來會發生什麼。 – 2015-03-13 13:51:18
另外,請發佈日誌,因爲這些都非常有幫助。 – 2015-03-13 13:51:44