ruby-on-rails - 回形针找不到 "file.jpg"rails 4 的处理程序

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

我在我的一个应用程序中设置回形针 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'
    

当我尝试在我的 Controller 中执行 Order.create params[order] 时出现错误

No handler found for "file.jpg"

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

最佳答案

尝试使用下面的代码行,您不必将 mulitpart 作为 html 散列传递

form_tag url, method: :post, multipart: true

对于 form_for 你必须在 html 散列中传递 multipart

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

更多信息,您可以引用文档:RailsGuides - Form Helpers - 5 Uploading Files

关于ruby-on-rails - 回形针找不到 "file.jpg"rails 4 的处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29094795/

相关文章:

ruby-on-rails - Rails Postgresql 随机排序

ruby - 为什么将具有这种编码的 "❨╯°□°❩╯︵┻━┻"用于方法名称?

ruby - 查看数组中的所有元素是否具有特定值的最快方法

ruby-on-rails - 将表单变量传递给部分模板 - Rails 4

mysql - 无法让这个连接在 Rails 中工作

ruby-on-rails - 如何使用 HTTParty 获取和显示 JSON?

jquery - 使用 jQuery ajax get 将 params 中的数据发送到 Rails 后端

ruby-on-rails - ActiveModel::ForbiddenAttributesError 使用 update_attributes 自己创建了参数散列

ruby-on-rails - 在 Rails 3.0.3 中使用 Net::HTTP 会导致 Timeout::Error

ruby - 稍后通过 delayed_job 呈现 View 的输出