2012-02-12 31 views
23

Khi việc biên dịch đối tượng Sprockets không thành công (do lỗi cú pháp trong CoffeeScript hoặc SASS), nó không thể biên dịch lại sau khi lỗi được sửa vì nó nói "tệp đã được yêu cầu".Làm thế nào để xóa bộ nhớ đệm Sprockets?

Để làm cho đối tượng Sprockets hoạt động, tôi phải hủy và tạo lại nó. Tôi đã tự hỏi nếu có ai biết nếu có một cách để nói với đối tượng Sprocket để tự thiết lập lại chính nó như là không chạy vào vấn đề này.

+1

Đây có phải là chế độ phát triển hoặc trong môi trường mà bạn đang sử dụng các tài sản biên dịch sẵn không? –

Trả lời

23

rake tmp:cache:clear xóa thư mục bộ nhớ cache tạm thời.

+0

Không làm sạch bộ đệm đệm. Các tệp trong './Tmp/cache/asset/development/sprockets /' vẫn tồn tại. – Zorayr

+1

Điều gì về 'tài sản rake: clobber'? Đó là một bổ sung gần đây và có thể chỉ có sẵn trong Rails 4. –

+4

Trong trường hợp của tôi, 'rake tmp: clear' hoạt động. – Zorayr

9

Trong trường hợp của tôi, lệnh sau đây làm việc:

rake tmp:clear 
+1

Đây là một "rõ ràng" rộng hơn so với bộ nhớ cache tài sản/Sprockets. Theo ['tmp' docs] (http://guides.rubyonrails.org/command_line.html#tmp):" rake tmp: xóa rõ ràng cả ba: cache, session và sockets ". –

2

Nó nên là:

Rails.application.assets.cache.clear 

nhưng this method chỉ trong ngành thạc sĩ và thậm chí không beta.

Cập nhật: được thêm vào 4.0.0.beta5.

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