2011-02-02 10 views
0

これはどのようにすることができますか?Rails - ファイルを一時的に保存して別のモデルに移動するためにPaperclipを使用

ユーザーがファイルをアップロードするときに、paperclipを使用してファイルをAttachmentTempモデルにアップロードし、S3に一時フォルダの種類を使用したいとします。

遅延ジョブでは、その一時ファイルを使用しますが、そのファイルを添付ファイルモデルのクリップに保存してください。ここで、ファイルはdelayed_jobで処理できます。

可能ですか?

答えて

0

私はそれを試していませんが、次のようにはどうですか?

最初に両方のモデルのPaperclipジェネレータを実行して、両方のテーブルにデータベースに必要な列があるようにします(移行後)。

次に、ユーザー対応の新しいアクション/ビューで[Temp]モデルを使用します。

後で遅延したジョブで、各AttachmentTempインスタンス(一部の状態基準でフィルタリング)をロードし、それぞれをAttachmentインスタンスにコピーします。だからあなたはただ一方を他方に翻訳しているだけです。

残りのユーザ対応のアクションでは、Attachmentインスタンスを使用します(AttachmentTempsは最初にレコードを作成するときにのみ使用されます)。

+0

attachmentTempから添付ファイルにコピーするにはどうすればよいですか?添付ファイルのTempはオリジナルファイルのみで、処理は行われません。だから私は、クリップを画像サイズetcc。、サムネイルなどのために処理する方法でAttachmentsにコピーしたいと思っています。 – AnApprentice

+0

コントローラのようにモデルの属性とメソッドにアクセスできます(またはもっと巧妙なことをしようとします) Rubyのようなものですが、基本的なアプローチが有効です)。したがって、paramsからAttachmentを作成する代わりに、AttachmentTempから属性をコピーします。スタイル(イメージサイズ)で添付ファイルを設定しますが、必要がないためにAttachmentTempにスタイルを追加しないでください。添付ファイルを保存するときは、コントローラメソッドから保存するときと同じように、指定した処理済みイメージを作成する必要があります。 –

関連する問題