0
コンテンツタイプに基づいて動的になるPaperclip gemを使用して単一テーブル継承を使用する予定です。コンテンツタイプに基づくPaperclipの動的オプション
class Document < ActiveRecord::Base
has_attached_file :file, photo_options #if content type is an image
has_attached_file :file, pdf_options #if content type is a pdf file
end
class Photo < Document
# photo specific code
end
class Pdf < Document
# pdf specific code
end
コンテンツタイプに基づいてhas_attached_file
を動的にすることはできますか?一つのユースケースは、ファイル形式のアップロードからDocument
の新しいインスタンスを作成しようとしたときのために、次のようになります。
@document = Document.new params[:document]
私は私の質問は理にかなって願っています。ありがとう。
STIモデルを使用している場合、サブクラスの動作でスーパークラスをインスタンス化する理由は何ですか?あなたはそれをスーパークラスとしてファイルとして、ドキュメント、写真、Pdfをサブクラスとして考えることができますか? –
私は '= simple_form_for Document.new'を使ってフォームを作成しています。私はFile(私はそれをDocumentと呼んでいます)をPhotoとPdfのスーパークラスとしてサブクラスとして考えようとしています。 params [:document]に基づいて、代わりに対応するサブクラスをインスタンス化する必要があることを示唆していますか? –