Paperclip文件字段有时无法正常工作

时间:2014-10-26 11:14:40

标签: ruby-on-rails input ruby-on-rails-3.2 paperclip

我正在开发一个Rails应用程序,它使用Paperclip在模型中保存图片。为了保存这张图片,我有一个form_for,它使用文件输入来保存图片。我上传图片时没有任何问题,但有时它无法正常工作。大多数时候我收到这样的参数:

"picture"=>#<ActionDispatch::Http::UploadedFile:0x000000061faeb8 
  @original_filename="sample8.jpg", @content_type="image/jpeg",
  @headers="Content-Disposition: form-data; name=\"service[picture]\"; 
  filename=\"sample.jpg\"\r\nContent-Type: image/jpeg\r\n",
  @tempfile=#<File:/tmp/RackMultipart20141026-3030-s39mpm>>, 

使用这种类型的参数,我可以上传图片。但是,有时我会收到这样的参数:&#34; picture&#34; =&GT; &#34; sample.jpg&#34;,所以我收到以下错误:

No handler found for "sample.jpg".

我一直在网上冲浪试图找到类似的问题,但我还没有找到任何东西。有谁知道为什么会这样?

这是我使用的主要文件:

= form_for service, url: service_path( service ), html: { method: :put } do |f|
  = file_field_tag :picture, value: service.picture,
    id: "selected_file_service_#{ service.id }", class: 'selected_file_service',
    size: '24', name: "service[picture]", rel: service.id
  %input#browseButton.upload_picture.service_upload.service_picture_upload{
    type: "button", value: I18n.t( 'abadi.actions.upload_picture' ) }

1 个答案:

答案 0 :(得分:0)

最后我找到了解决方案。我需要在html参数的表单中使用 multipart:true