2017-05-18 23 views
5

Trong Rails 5.1, có cảnh báo không dùng nữa nếu chúng tôi sử dụng asset_path cho các tệp trong thư mục công khai.Rails 5.1: trợ giúp url cho các tệp trong thư mục công cộng

DEPRECATION WARNING: The asset "favicon.ico" is not present in the asset pipeline.Falling back to an asset that may be in the public folder. This behavior is deprecated and will be removed.

Vì vậy, tôi đã cố gắng public_asset_path, nhưng nó không phải đang làm việc, là có một helper?

+0

Tôi đã nhận lỗi tương tự khi tôi đang tham khảo một nguồn tài nguyên bên ngoài, tức là: một hình ảnh trên aws hoặc bất cứ nơi nào khác –

+0

Bất kỳ giải pháp bạn tìm thấy chưa? –

+0

không, vẫn đang đợi –

Trả lời

0

Vì vậy, tôi đã thêm phương pháp này trong những người giúp đỡ/application_helper.rb

module ApplicationHelper 
    def public_path(path) 
     "#{ Rails.env.development? ? 'http://localhost:3000/' : 'https://cdn.mysite.fr/' }#{ path }" 
    end 
end 

và sau đó tôi có thể sử dụng public_path('images/image.jpg') hưởng quang cảnh của

5

Nếu muốn sử dụng phương pháp helper mà không cần đường ống tài sản, cần phải xác định tùy chọn skip_pipeline.

Như thế này.

image_path("user/favicon.png", skip_pipeline: true)

Hoặc nếu muốn kích hoạt dự phòng tài sản cho toàn bộ ứng dụng, config.assets.unknown_asset_fallback có thể được thiết lập là true. Xem: http://guides.rubyonrails.org/asset_pipeline.html#raise-an-error-when-an-asset-is-not-found

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