paperclip找不到" file.jpg"铁轨4

时间:2015-03-17 08:53:39

标签: ruby-on-rails ruby ruby-on-rails-4 paperclip image-uploading

我在其中一个应用程序中设置paperclip gem时遇到问题 我尝试保存上传的文件时收到No handler found for错误消息。

我做过的事情

  • 迁移:

    add_attachment :orders, :file  
    
  • 型号:

    has_attached_file :file  
    validates_attachment_content_type :file, :content_type => /\Aimage\/.*\Z/
    
  • 控制器:

    def order_params  
      params.require(:order).permit(:file)
    
  • 查看:

    form_tag url, method: :post, html: {multipart: true}  
    ...  
    = file_field_tag 'order[file]', disabled: true, id: 'mtd_file',accept: 'image/png,image/gif,image/jpeg'
    

当我尝试在我的控制器Order.create params[order]中执行时,我收到错误

  

找不到“file.jpg”的处理程序

当我查看order[file] param时,我发现它是一个字符串file.jpg(上传文件的名称)。

1 个答案:

答案 0 :(得分:6)

尝试使用以下代码行,您不必将mulitpart作为html哈希

传递
form_tag url, method: :post, multipart: true

对于form_for,您必须在multipart哈希

中传递html
form_for(@user), :html => { :multipart => true } do |f|

有关详细信息,请参阅文档:RailsGuides - Form Helpers - 5 Uploading Files