【发布时间】:2016-03-21 13:02:23
【问题描述】:
我在 Rails 应用程序中有以下文件夹结构。
|-assets
|-javascript
|-lib
bootstrap.js
jquery.js
application.js
|-styleesheet
|-lib
bootstrap.js
application.js
静态资产由不同的人托管在云端,我不知道它是如何完成的。
我在 production.rb 中给出了以下配置。
config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
config.assets.compile = true
config.action_controller.asset_host = 'cloudfront url'
在视图页面中会是这样的:
<%[application,lib/bootstrap].each do |css_url| %>
<%= stylesheet_link_tag css_url%>
<%end%>
<%[application,lib/bootstrap,lib/jquery].each do |js_url| %>
<%= javascript_include_tag js_url%>
<%end%>
当部署在生产环境和第一个请求时,它将编译资产文件夹并将它们存储在缓存中。对于后续请求,它将从缓存中获取。但是每次我托管并为某些文件而不是所有文件生成第一个请求缓存时。
【问题讨论】:
-
您的应用应为用户下载哪些资产(指纹和姓名)?是否所有用户都被告知下载相同的资产?向我们展示有关您的 cloudfront 设置的更多信息。 Cloudfront 只是服务器或不(有错误)用户请求的资产,但它是告诉用户该资产的 URL 的轨道)
-
@Leito 抱歉,这就是我们卡住 Rails 设置和 cloudfront 设置的地方,由不同的人完成,我无权访问。我想确保我这边没有错误。我用配置数据更新了问题。请通过它
标签: javascript css ruby-on-rails amazon-cloudfront