Trong quá trình sản xuất, đường dẫn chính xác đến hình ảnh của tôi không được gọi bằng thẻ hình ảnh và vân tay md5 không được thêm vào. Tên hình ảnh (ví dụ: "pretty_picture.jpg") được lưu trữ trong cơ sở dữ liệu. Các tệp biên dịch sẵn có trong thư mục công cộng bao gồm tệp kê khai.Rails 4.2: đường dẫn hình ảnh và vân tay chỉ được thêm khi config.assets.compile = true
Khi được gọi bằng IMAGE_TAG:
image_tag @test_question.question.image
tôi nhận được:
<img src="/images/pretty_picture.jpg">
Nếu tôi đặt config.assets.compile = true trong production.rb hình ảnh được render và tôi nhận được:
<img src="/assets/images/pics/pretty/pretty_picture-e0df5012b6930cda4efaa866af22a63f.jpg" >
Giải pháp hack của tôi là sử dụng (trong HAML)
%img{src: "/assets/"+Rails.application.assets.find_asset(@test_question.question.image).digest_path}
Trong production.rb Tôi có
config.assets.digest = true
config.assets.enabled = true
config.serve_static_files = false
config.assets.compile = false
Thiết lập config.assets.compile true trong sản xuất là không nên. Điều này có vẻ như hành vi rất lạ thay mặt cho sprockets và đường ống tài sản. Bất kỳ ý tưởng gì là sai với việc sử dụng image_tag ở đây?
Tôi gặp phải vấn đề tương tự - cảm ơn vì đã tìm ra giải pháp hack - ít nhất tôi cũng có được một số mã làm việc. –
Đã có giải pháp không hack cho vấn đề này chưa? Tôi có cùng một vấn đề. – user2012677