Я планирую использовать однонамерное наследование с использованием драгоценного камня Paperclip, который будет динамическим в зависимости от типа содержимого.Динамические параметры для 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 как подклассы. Вы предполагаете, что на основе параметров [: document] я должен создавать экземпляр соответствующего подкласса? –