試圖顯示文件的CONTENT_TYPE(例如:圖像/ JPG)時,我得到這個錯誤「未定義的方法`文件爲#<String:0x007ffaf0049a28>」在Rails中?
undefined method `file' for #<String:0x007ffaf0049a28>
。我正在使用Carrierwave + Jquery文件(這兩個文件都經過嚴格修改,以我想要的方式一起工作)+ Amazon s3(click this to see what I'm doing)。它正在工作之前,只是載波&亞馬遜s3,但是當我加入jquery文件上傳&直接s3,它只是不再工作。
有人可以幫我在這裏嗎?下面是我在做什麼:
<%= @post.attach.file.content_type %>
謝謝你的時間提前&請讓我知道如果你需要更多的代碼/信息
@post.attach.inspect
# https://sharebook.s3.amazonaws.com/uploads/d4247713-6459-484f-9b8b-f0b7b689e8d9/picture.jpg
@post.inspect
# #<Post id: 1, name: "post title", attach: "https://domain.s3.amazonaws.com/uploads/d4247713...", created_at: "2013-05-29 17:30:46", updated_at: "2013-05-29 17:30:46">
更多信息:我使用storage :fog
。在我carrierwave上傳,我已經包括
CarrierWave::MimeTypes process :set_content_type
我看了一下gem,但它在將修改後的直接上傳添加到s3之前正在工作(請參閱原始問題中的鏈接)。在我的carrierwave上傳器中,我有'包含CarrierWave :: MimeTypes process:set_content_type'我現在正在實現這個gem,但我看不到它會做什麼不同。無法通過離開文件ext來提升content_type? @Martin – Jon
我正在使用'storage:fog' btw @Martin&我在模型中沒有使用「mount_uploader」。它直接上傳到s3 – Jon
我將lookup_by_extension添加到我的回答中 –