Paperclip 基于内容类型的动态选项
Dynamic options for Paperclip based on the content type
我计划使用基于内容类型的动态回形针 gem 来使用单个 table 继承。
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]
我希望我的问题是有道理的。谢谢
你可以这样做:
class Document < ActiveRecord::Base
end
class Photo < Document
has_attached_file :file, photo_options #if content type is an image
# photo specific code
end
class Pdf < Document
has_attached_file :file, pdf_options #if content type is a pdf file
# pdf specific code
end
class DocumentsController < ApplicationController
#Assuming is the new method.
def new
@document = params[:document_type].classify.safe_constantize.new
end
end
并在您的表单中使用@document。
我计划使用基于内容类型的动态回形针 gem 来使用单个 table 继承。
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]
我希望我的问题是有道理的。谢谢
你可以这样做:
class Document < ActiveRecord::Base
end
class Photo < Document
has_attached_file :file, photo_options #if content type is an image
# photo specific code
end
class Pdf < Document
has_attached_file :file, pdf_options #if content type is a pdf file
# pdf specific code
end
class DocumentsController < ApplicationController
#Assuming is the new method.
def new
@document = params[:document_type].classify.safe_constantize.new
end
end
并在您的表单中使用@document。