我有一个名为CustomFields的模型,它属于一个主类(has_many:custom_fields)。此模型具有contents
和datatype
属性。根据对象的数据类型,我希望内容可以是使用carrierwave的字符串或上传者。我做了以下事情:
class CustomField < ActiveRecord::Base
after_initialize :set_uploader
def set_uploader
if self.datatype == 'file'
CustomField.mount_uploader :contents, ImageUploader
end
end
end
它不起作用,因为它将所有对象的内容转换为上传者,而不仅仅是'file'数据类型。我该如何解决?
答案 0 :(得分:-1)
只是一个猜测:
class CustomField < ActiveRecord::Base
mount_uploader :image, ImageUploader, if: :file?
def file?
self.datatype == 'file'
end
end