我有一个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