我有两个模型(Document
& DocumentType
)。使用carrierwave我想基于它的DocumentType(包含可接受的文件扩展名数组)动态限制Document上允许的文件扩展名。问题是在DocumentType与Document关联之前似乎调用extension_white_list
。想法,想法?
def create
@document = Document.new document_params
end
答案 0 :(得分:3)
在您的上传器中,您可以执行任何操作,类,实例方法或固定数据。
def extension_white_list
# Document.some_class_method
# model.some_instance_method
# fixed: %w(jpg jpeg gif png)
end
问题可能源于Rails指定params的方式:你无法控制订单。
在这种情况下,分割线条以获得所需的顺序:
@document = Document.new document_params_without_file
@document.assign_attributes document_file_params
#or a mere @document.file_accessor = document_file_params