Ruby on rails 3 回形针和Phusion乘客手错误

Ruby on rails 3 回形针和Phusion乘客手错误,ruby-on-rails-3,rack,passenger,Ruby On Rails 3,Rack,Passenger,我按照以下指南通过AJAX获得拖放文件上传: 在我与WebBrick的开发环境中,一切都很好,但如果我部署到PhusionPassenger,那么我会得到: Paperclip::AdapterRegistry::NoHandlerError (No handler found for #<PhusionPassenger::Utils::RewindableInput:0x000000041aef38 @io=#<PhusionPassen... 查看请求本身,所有的头都已设置(

我按照以下指南通过AJAX获得拖放文件上传:

在我与WebBrick的开发环境中,一切都很好,但如果我部署到PhusionPassenger,那么我会得到:

Paperclip::AdapterRegistry::NoHandlerError (No handler found for #<PhusionPassenger::Utils::RewindableInput:0x000000041aef38 @io=#<PhusionPassen...
查看请求本身,所有的头都已设置(X_MIME_类型、X_文件名)等

有什么想法吗


提前谢谢

您正在抄袭的示例期望文件流是StringIO对象,但Passenger将为您提供一个PhusionPassenger::Utils::RewindableInput对象

幸运的是,在这种情况下,StringIO与RewindableInput非常相似,因此可以使用曲别针的StringioAdapter包装您的上传流

在parse_raw_上载的if块内,最后执行以下操作:

if @raw_file.class.name == 'PhusionPassenger::Utils::RewindableInput'
  @raw_file = Paperclip::StringioAdapter.new(@raw_file)
end

我和独角兽也有类似的问题。你的回答帮助了我。谢谢链接到unicorn的问题:
if @raw_file.class.name == 'PhusionPassenger::Utils::RewindableInput'
  @raw_file = Paperclip::StringioAdapter.new(@raw_file)
end