초급자입니다. 그리고 나는 이미지 URL을 얻을 수 없다 (나는 방법을 모른다). https://github.com/Atlantia/tinymce-rails-imageuploadRoR tinymce-rails-imageupload URL 얻기
1.Controller
class TinymceAssetsController < ApplicationController
def create
DataFile.save(params[:file])
render json: {
image: {
url: view_context.image_url(image)
}
end
}
2.Model
class DataFile < ActiveRecord::Base
def self.save(file)
name = file.original_filename
#create the file path
path = File.join(directory, name)
#write the file
File.open(path, "wb") { |f| f.write(file.read) }
end
end
파일이 저장됩니다,하지만 난 URL을 ... 도움을 감사를 얻을하는 방법을 모르겠어요.
나는 Paperclip으로 결정했습니다. 그러나 문제가 있습니다.
class DataFile < ActiveRecord::Base
has_attached_file :file, styles: { medium: "300x300>", thumb: "100x100>" }
end
class TinymceAssetsController < ApplicationController
def create
@datafile.update_attributes(file: params[:file])
render json: {
image: {
url: @datafile.file.url(:medium)
}
}
end
end
NoMethodError (전무에 대한 정의되지 않은 메서드`update_attributes 'NilClass)
과 또 다른 질문 : 나는 스타일을 지적하지 않은 경우 이 사진이 원래 크기를 가지고 있습니까?
매우 드물게 사진을 업로드하십시오. Dir 클래스는 구현하기에 적합합니까? 고맙습니다. – user1309082
Paperclip은 일반적인 파일 업로드를 처리합니다. 스타일 해시를 전달하지 않고 파일을 저장하고 검색합니다. ''Dir.entries ("mydirname")'는 디렉토리에있는 파일 이름 목록을 제공 할 것이므로 자신이 정말로하고 싶다면 하위 디렉토리에 모든 파일을 저장해야합니다 ("uploads/# {self.id}/") 데이터베이스를 건드리지 않고 파일 목록을 찾으려면 Dir.entries를 사용하십시오. 다시 한번 말하지만, 나는 적절한 업로드 관리 젬을 사용하여 정말로 강조하고 싶습니다! –
조. 종이 클립으로 도울 수 있겠 니? NoMethodError (정의되지 않은 메서드 인'update_attributes 'for nil : NilClass). 고맙습니다. – user1309082