2012-03-09 36 views
9

Tôi có ứng dụng Rails 3.1 và vì một số lý do khi tôi thay đổi CSS, các thay đổi sẽ không hiển thị. Tôi đã làm bundle exec rake assets:precompile và nó đã giúp một lần, nhưng bây giờ tôi đang mắc kẹt với CSS cũ không có vấn đề gì.Tài sản đường ray không được cập nhật

Trả lời

14

Là tài sản của bạn bây giờ được biên dịch sẵn bạn cần phải làm sạch chúng với những điều sau

bundle exec RAILS_ENV=development rake rails_group=assets assets:clean 
+0

hmm của bạn không giúp được ..? /Users/username/.rvm/rubies/ruby-1.9.3-p0/bin/ruby /Users/username/.rvm/gems/ruby-1.9.3-p0/bin/rake asset: clean: tất cả RAILS_ENV = production RAILS_GROUPS = tài sản btw vấn đề tôi đề cập đến trong phát triển .. – Stpn

+0

đã làm nó nhiều lần và nó đã giúp .. lạ nhưng cảm ơn!)) – Stpn

+0

Bất kỳ cơ hội nào bạn có thể biết cách tắt biên dịch tài sản để phát triển để có thể thấy các thay đổi được thực hiện bằng .css ngay lập tức? – Stpn

5

Bạn có thể muốn thử tài sản cào: làm sạch và sau đó cào tài sản: precompile

+1

đã làm nó .. không có gì thay đổi (css cũ đang được phục vụ). – Stpn

+1

Khi tôi đã làm điều này, tôi đã lưu ý trong lỗi rằng nó đang thực hiện nhiệm vụ rake trong tài sản 'rake: clean: tất cả RAILS_ENV = production RAILS_GROUPS = assets'..once tôi chuyển nó sang' development' nó hoạt động tốt! :) cám ơn. – RGB

3

Đối với tôi là chỉ xóa các tệp css/js đã biên dịch từ thư mục công khai.

Hóa ra là người khác đặt nó ở đó và không cho biết bất kỳ ai.

+0

Tôi cũng phải làm điều này, nhưng nó không phải là một dev khác, đó là trình biên dịch trước. – OneHoopyFrood

5

Đối với môi trường sản xuất của mình, tôi đã phải kết hợp một vài bước trên để tài sản của tôi được biên dịch lại.

Trước tiên tôi phải làm:

rake assets:clean 

Đảm bảo tôi ở trong môi trường phù hợp

Sau đó, tôi cần thiết để xóa các thư mục public/assets rằng tiền biên dịch tạo ra (hoặc chỉ các tập tin mà bạn cần phải sửa chữa, application-<hash>.css ví dụ)

Sau đó, cuối cùng lại chạy

rake assets:precompile 

Và khởi động lại máy chủ apache của tôi (tôi sử dụng hành khách với apache, không được kiểm tra bằng nginx)

0

Trong trường hợp bất kỳ nhân viên nào trong tương lai tìm thấy chủ đề này: Tôi gặp vấn đề tương tự trong môi trường thử nghiệm của ứng dụng Rails 4.2.8. Không có giải pháp nào ở trên hoạt động. Đặt config.serve_static_files = false trong số config/environments/test.rb đã giải quyết.

Hãy nhớ rằng đây là một sửa chữa tạm thời vì nó khiến tất cả các tệp trong thư mục public không còn được phân phát (bao gồm 404.html, favicon.ico, robots.txt, v.v.).

0

gì làm việc cho tôi trong đường ray, chrome, mac:

1 - Trong thiết bị đầu cuối:

rake assets:clean 

2 - Trong văn bản Sublime hoặc trong Finder:

Xóa "Công> Tài sản "thư mục

3 - Trong máy chủ cục bộ khởi chạy cục bộ:

rails s 

4 - Trong chrome:

http://localhost:3000/ 

5 - Nạp chrome thanh toán bù trừ bộ nhớ cache nếu có liên quan:

cmd + shift + R 

Bây giờ bạn có thể cập nhật các file css của bạn và xem những thay đổi ngay lập tức trên localhost của bạn chỉ cần tải lại trang

KHÔNG RUN "tài sản cào: biên dịch trước" trong thiết bị đầu cuối vì nó sẽ tạo lại thư mục "nội dung" trong thư mục "công khai" và yo u sẽ không thể xem các cập nhật của các tệp css của bạn trực tiếp trong localhost

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