私の人生のために、どのように基本的なpaperclip exampleの仕組みがわかりません。そこコントローラに含まれて1行だけだし、それは私が単にそれがS3に画像をアップロードするために必要なことすべてだか理解していないpaperclip gemを使用してS3に画像をアップロードするには
@user = User.create(params[:user])
です。私は例をかなり変更しました。なぜなら、デフォルトのレールフォームヘルパーではなく、jquery file uploaderを使用したかったので、私はコントローラに画像がPOSTされているところにいますが、 paramsから画像を取り出し、それを添付ファイルとして割り当てるはずです。ここで私は、ログを見ているものです:
Parameters: {"files"=>[#<ActionDispatch::Http::UploadedFile:0x132263b98 @tempfile=#<File:/var/folders/5d/6r3qnvmx0754lr5t13_y1vd80000gn/T/RackMultipart20120329-71039-1b1ewde-0>, @headers="Content-Disposition: form-data; name=\"files[]\"; filename=\"background.png\"\r\nContent-Type: image/png\r\n", @content_type="image/png", @original_filename="background.png">], "id"=>"385"}
私のJSは非常に簡単です:私は知っているために役立つだろう何
` $('#fileupload').fileupload({
dataType: 'json',
url: '/my_url',
done: function (e, data) {
console.log('done');
}
});`
は私がPOSTさからファイルデータを取り除くことができる方法であります上記のパラメータをpaperclipに渡します。私は添付ファイルの属性にFile.open(...)の値を割り当てなければならないと確信していますが、私のファイルのソースはわかりません。
私はこれを理解しようとばかげた時間を費やしてしまい、私はそれを得ることができません。私はs3に直接アップロードしようとしましたが、一連のイベントはひどく混乱していました。この単純なパススルーの例を最初に完成させたいと思います。あなたがcnaを与えるどんな助けでもありがとう!
私はこのことを十分に理解していますが、なぜPaperclipが期待するすべての属性をparamsに含めることができるのか理解できません。フォームヘルパーがこれを処理している場合を除き、私は理解していますが、フォームヘルパーを使用しないため、回避策を見つける必要があります。いくつかのJSでOPを編集しました。ありがとう –
私の提案は、jQueryを使わずに、デモが示すように動作させることです。それが正常に動作したら、jQueryを追加します。このアプローチは、ステップバイステップで作業することを容易にします。 – joelparkerhenderson
ブログ投稿が悪いおそらく時代遅れです。手順に従ってエラーを出してください。 Paperclip RubyDocで言及されていないことの1つは、has_attached_fileに ':storage =>:s3'を追加することです。あたかも ':s3_credentials'で十分であるかのように見せかけますが、そうではありません。 – Chloe