私はCarrierwaveを使ってファイルをアップロードしています。ファイルがコントローラで受信されると、それをモデルオブジェクトに設定してモデルを保存します。CarrierwaveでファイルをRailsに保存する
@submission = Submission.new(params[:submission])
@submission.file = params[:submission][:file]
@submission.save
次に、ファイルがディレクトリ構造に保存されていることがわかります。私はまた、異なるソースからファイルを受け取るこの構成は、ディレクトリ
アップローダ/ submission_uploader.rb
def store_dir
"files/#{model.class.to_s.underscore}/#{model.id}/#{mounted_as}/"
end
を設定しますと仮定します。たとえば、ユーザーはzipファイルをアップロードしてからzipをサーバー上で抽出し、抽出された各ファイルと同じパラメーターで新しい送信が作成され、保存されます。
この場合、アップロードされたファイルではなく、サーバーに保存されているファイルなどの他のソースからファイルを受け取ったときに、ファイルをアップロードしたときと同じディレクトリ構造になりますか?
私は混乱している理由は、documentation Carrierwaveはファイルアップローダーの宝石ですが、これはオブジェクトリレーショナルマッピング、つまりモデルオブジェクトのファイルフィールドをデータベースに保存することと関連しています。
提出用に異なるファイルを設定し、ファイルがアップロードから受信されたときと同じディレクトリ構造に保存されるようにするにはどうすればよいですか?