2011-09-20 27 views
8

Tôi đã nâng cấp ứng dụng lên Rails 3.1 và mọi thứ được thiết lập và hoạt động chính xác ngoại trừ việc image_tag không tìm thấy hình ảnh. Tôi đã chuyển tất cả hình ảnh của tôi từ công khai/hình ảnh sang ứng dụng/tài sản/hình ảnh. Trình duyệt yêu cầu hình ảnh tại http://localhost:3000/assets/foobar.png nhưng trình duyệt chỉ hiển thị dưới dạng hình ảnh bị hỏng trong Chrome. Mở nó trong một tab riêng biệt nói "Không có tuyến đường phù hợp [GET]" /assets/foobar.png ".Không tìm thấy nội dung hình ảnh sau khi nâng cấp lên Rails 3.1

Tôi cảm thấy như tôi chỉ thiếu một số thiết lập ở đâu đó, nhưng tôi đã không thể tìm hiểu những gì nó vẫn chưa Bất kỳ lời đề nghị

+0

Tôi đã thử nhấn http: // localhost: 3000/assets/images/foobar.png, nhưng điều đó không có hình ảnh. – bratsche

Trả lời

15

Một trong những điều lớn nhất mà họ không đề cập đến trong Assets Pipeline Guide là để loại bỏ các hàng đầu/images/phần của đường dẫn vì vậy, trong ví dụ này:.?.

<%= image_tag "/images/about/header.png" %> 

Would phải được thay đổi thành:

<%= image_tag "about/header.png" %> 

Tương tự với các tệp CSS. Vì vậy, đây:

background-image: url("/images/alliance/header_background.png"); 

Sẽ thay đổi để:

background-image: image-url("alliance/header_background.png"); 

Lưu ý rằng khi sử dụng các đường ống dẫn tài sản bao giờ bao gồm dấu gạch chéo hàng đầu. Ngoài ra nếu bạn sử dụng dòng mã trên trong tệp CSS của bạn, hãy chắc chắn thêm .scss vào tệp (vì vậy application.css sẽ trở thành application.css.scss).

Hy vọng điều này sẽ giúp bạn tiết kiệm một số nhức đầu!

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