Tôi đang cố gắng đảm bảo rằng tôi đang phân phối tệp nén và tệp js bằng cách sử dụng đường dẫn nội dung Rails. Tôi đã thiết lập nó một cách độc đáo và mọi thứ đang chuẩn bị sẵn sàng một cách vui vẻ - và cũng đồng bộ hóa hạnh phúc với S3 nơi tôi đang phục vụ chúng bằng cách sử dụng CloudFront CDN của Amazon.Manifest.yml không được cập nhật với nội dung: biên dịch trước - Đường ray 3.2.6
Tôi đang phục vụ application.css và application.js như vậy:
= stylesheet_link_tag "application"
= javascript_include_tag "application"
Vấn đề, trong một nutshell: Các file MD5-hậu tố không đang được đầu ra trong cách bố trí ứng dụng - chỉ raw application.css và application.js
Điều này có một chút lạ: tất cả hình ảnh có tem MD5. Các tệp CSS/JS không.
Dưới đây là production.config tôi:
config.action_controller.perform_caching = true
# Specifies the header that your server uses for sending files
config.action_dispatch.x_sendfile_header = "X-Sendfile"
config.assets.compress = true
# Fallback to compile on demand
# config.assets.compile = true
#config.assets.precompile += %w(application.css application.js)
# Generate digests for assets URLs
config.assets.digest = true
#push the assets to amazon
config.action_controller.asset_host = Proc.new { |source, request|
if request.ssl?
"https://tekpub-assets.s3.amazonaws.com"
else
"http://tekpub-assets.s3.amazonaws.com"
end
}
config.serve_static_assets = false
Điều phẩn nộ về toàn bộ quá trình này là tôi có thể thấy gzipped/file tiêu hóa - họ nói đúng có trong thư mục tài sản của tôi. Tất cả các em - các tệp CSS và JS.
Tuy nhiên tập tin manifest.yml tôi chỉ cập nhật như sau:
---
application.js: application.js
application.css: application.css
Không có lỗi khi tôi chạy tiền biên dịch - trong thực tế tất cả mọi thứ trông khá giống trái đào:
** Invoke assets:precompile:all (first_time)
** Execute assets:precompile:all
** Invoke assets:precompile:primary (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
Resolved collector.newrelic.com to 204.93.223.153
AssetSync: using /Volumes/Fatty/Sites/tpub6/config/initializers/asset_sync.rb
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:primary
** Invoke assets:precompile:nondigest (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
Resolved collector.newrelic.com to 204.93.223.153
AssetSync: using /Volumes/Fatty/Sites/tpub6/config/initializers/asset_sync.rb
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:nondigest
AssetSync: Syncing.
Using: Directory Search of /Volumes/Fatty/Sites/tpub6/public/assets
AssetSync: Done.
Cảm ơn bạn cho bất kỳ con trỏ/shoves/mẹo.
Vì vấn đề này đã được gây ra do đá quý 'twitter-bootstrap-rails', cập nhật gem từ git repo bằng' gem 'twitter-bootstrap-rails',: git => 'git: // github. com/seyhunak/twitter-bootstrap-rails.git'' đã giải quyết vấn đề này cho tôi. – joseph