0

このエラーが発生しています

undefined method `file' for #<String:0x007ffaf0049a28>

ファイルの content_type (例: image/jpg) を表示しようとするとき。私はCarrierwave + Jquery File (どちらも私が望むように連携するように大幅に変更されています) + Amazon s3 (私が何をしているかを見るにはこれをクリックしてください) を使用しています。以前は、carrierwave と amazon 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::MimeTypes process :set_content_type
4

2 に答える 2

0

ここで言うのは少し難しいですが、「attach」の値は「#」(文字列) のようです。のようなことをしてみてください...

<%= @post.attach.inspect %>

確かに、または単に...

<%= @post.inspect %>

彼らが何であるかを見るために。「添付」が「添付」であることは可能ですか?

于 2013-06-02T21:32:10.650 に答える