2012-12-14 21 views
9

Tôi không thể tìm thấy câu trả lời rõ ràng cho câu hỏi này trong tài liệu. Nhiều tài liệu tham khảo chỉ nói rằng "thay đổi phiên bản làm mất hiệu lực nội dung". Vâng, sau đó không phải là cùng được thực hiện bởi cơ chế vân tay, mà tạo ra các thẻ băm dựa trên nội dung tập tin và tên? Có ai biết chính xác config.assets.version là gì?config.assets.version làm gì trong Rails?

+2

http://stackoverflow.com/questions/13171647/what-does-changing-config-assets-version-number-do – deefour

Trả lời

6

config.assets.version là chuỗi tùy chọn được sử dụng trong tạo băm MD5. Điều này có thể được thay đổi để buộc tất cả các tệp phải được biên dịch lại. *

Điều này có thể hữu ích khi nội dung nội dung không thay đổi, nhưng bạn muốn thay đổi tiêu đề phản hồi được phân phối với nội dung, nhưng các tiêu đề đó được lưu trong bộ nhớ cache một nơi nào đó giống như một CDN hoặc trình duyệt của người dùng.

Thay đổi phiên bản nội dung của bạn sẽ cho phép bạn tạo lại tất cả nội dung của mình bằng băm md5 mới, cho phép bạn phân phát cùng một nội dung cho CDN với tiêu đề mới.

* Từ RailsGuides - Configuring Rails Applications

LƯU Ý: Tính đến ngày 20 Tháng 5 năm 2016, tính năng này dường như đã bị phá vỡ trong một thời gian https://github.com/rails/sprockets-rails/issues/240. Thay vào đó, thay vào đó, thay đổi giá trị của Rails.application.config.assets.prefix.

+0

Hy vọng rằng họ sẽ khắc phục sự cố này sớm. Nó đơn giản không phải là một tùy chọn để yêu cầu người dùng đảm bảo họ đặt lại lịch sử của họ trước khi xem trang web để xem thay đổi lol – bkunzi01

+0

@ bkunzi01 bạn có thấy ghi chú của tôi về phương pháp thay thế để phá sản của bạn với ngày hết hạn không? –

+0

Mẹo hay! Khi bạn làm điều đó, bạn có cần xóa thư mục public/asset gốc hay nó sẽ tự động biên dịch trước. vào một thư mục mới và tránh xa các tài sản cũ? – bkunzi01

Các vấn đề liên quan