2012-06-19 27 views
6

Làm việc trên đường ray, hình ảnh không hiển thị và gây ra lỗi.không có kết quả phù hợp cho nội dung/hình ảnh trong Rails

Started GET "/assets/home.png" for 127.0.0.1 at 2012-06-19 12:23:24 +0530 
Served asset /home.png - 404 Not Found (24ms) 
ActionController::RoutingError (No route matches [GET] "/assets/home.png"): 

Tôi đã sử dụng lệnh

rake assets:precompile 

production.rb

config.assets.compress = true 
config.assets.compile = false 

application.rb

config.assets.enabled = true 
config.assets.version = '1.0' 

Nhờ sự giúp đỡ!

Trả lời

6

Thực ra bạn không thể tham chiếu hình ảnh của mình với đường dẫn /assets/home.png. Nó sẽ hoạt động ở chế độ phát triển, nhưng trong quá trình sản xuất, tất cả nội dung của bạn đều có dấu vân tay trong tên tệp của chúng (đọc số http://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care-questionmark)

Đó là lý do tại sao, trong các ứng dụng hỗ trợ nội dung bạn cần tham khảo tất cả nội dung của bạn bằng phương pháp trợ giúp . Đọc tài liệu này để tìm hiểu về những người trợ giúp khác nhau có sẵn trong các tệp Ruby, JS và Sass: http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets

3

Việc thiếu dấu vân tay trong yêu cầu tệp cho thấy bạn đang chạy trong quá trình phát triển. Tôi cũng đoán rằng đây là một ứng dụng được nâng cấp từ phiên bản cũ hơn của Rails.

Bất kỳ hình ảnh nào cần phải nằm trong thư mục/nội dung/hình ảnh để đường ống hoạt động.

Ngoài ra, bạn không cần phải biên dịch trước khi ở chế độ phát triển.

Xóa thư mục công khai/tài sản, xóa thư mục tmp/cache/asset và khởi động lại máy chủ của bạn.

Nếu hình ảnh này ở đúng vị trí, nó sẽ hoạt động.

+1

Tôi đã chạy 'tài sản rake: biên dịch trước và xóa' công khai/nội dung' nhưng không hoạt động. Tuy nhiên việc xóa 'tmp/cache/assets' vẫn hoạt động. Cảm ơn. – Penguin

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