나는 Ajax remotipart
을 사용하여 파일을 동적으로 업로드하는 시나리오를 가지고 있습니다. 그런 다음 나중에 업로드 된 파일을 모든 모델에 할당합니다. 나는 업 로더에서 그런 설정을했다. 업로드 된 파일을 다른 모델의 레일에 다시 할당하는 방법 3.1
class DocumentUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.pluralize.underscore}/#{model.documentable_type.to_s.pluralize.underscore}/#{model.documentable_id}"
end
def extension_white_list
%w(doc pdf docx xls xlsx)
end
end
class Document < ActiveRecord::Base
mount_uploader :document, DocumentUploader
belongs_to :documentable, :polymorphic => true
validates :document, :presence => true
validates :description, :presence => true
end
class Post < ActiveRecord::Base
has_many :documents, :as=>:documentable
end
내가 documentable
소스를 제공하지 않고 문서를 업로드
/uploads/documents/uploaded_file.doc
에 파일을 업로드하지만
@post = Post.first
@post.documents << Document.last
@post.save
처럼 다른 모델에 해당 문서를 할당 할 때 제대로 레코드를 저장 @post.documents.first.document.url
과 같은 파일의 URL을 얻으면이 파일을 사용할 수없는 /uploads/documents/posts/10212/uploaded_file.doc
과 같은 URL을 제공합니다.
기존 업로드를 어떻게 할당 할 수 있습니까?