2015-07-18 13 views
5

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?

+0

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. –

+0

Đã 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

Trả lời

1

Trong sản xuất, bạn nên hành tiền biên dịch tài sản trước khi bắt đầu các máy chủ, với lệnh sau đây (và tự động hoá nó để làm điều đó mỗi khi bạn triển khai):

rake assets:precompile RAILS_ENV="production" 

và giữ config.assets.compile = false trong production.rb của bạn. Kiểm tra trong Asset Pipeline Guide.

+0

Có, nội dung được biên dịch trước cho đúng môi trường và được triển khai với Capistrano đến máy chủ. Như đã nêu trong thân câu hỏi, các tài sản có mặt trong thư mục công cộng như chúng cần, và config.assets.compile = false. Các hình ảnh không được tham chiếu chính xác trong chế độ xem. – user3291025

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