我在其中一个应用程序中设置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
(上传文件的名称)。
答案 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