上传回形针,sinatra和mongoid

时间:2012-07-11 16:48:18

标签: ruby sinatra mongoid paperclip

使用带有sinatra和mongoid的回形针时遇到问题。 当我上传时显示以下错误:


Paperclip::AdapterRegistry::NoHandlerError - No handler found for {"tempfile"=>#, "filename"=>"image-[Converted].jpg", "content_type"=>"image/jpeg", "size"=>35222}:

在模型中,我离开了:


class User
  include Mongoid::Document
  include Mongoid::Paperclip

  has_mongoid_attached_file :avatar,
    :path           => ':attachment/:id/:style.:extension',
    :default_url => '/images/missing_portrait_:style.jpg',
    :styles => {
      :original => '1920x1680>',
      :small    => '100x100#',
      :medium   => '250x250',
      :large    => '500x500>'
    }
end

路线/上传如下:

post '/upload' do
  User.create! ::avatar => to_paperclip(params[:file])
end

def to_paperclip(image)
  paperclip = {}
  paperclip['tempfile'] = image[:tempfile]
  paperclip['filename'] = image[:filename]
  paperclip['content_type'] = image[:type]
  paperclip['size'] = image[:tempfile].size
  paperclip  
end

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我没有找到任何使用回形针的解决方案,但我最终使用了载波,它能够满足我的需要

答案 1 :(得分:0)

这对我有用

user = User.new()
user.avatar  = params[:avatar][:tempfile]
user.avatar_file_name = params[:avatar][:filename]