尝试保存文件后出现此错误。
未定义的方法`original_filename' for"截图2017-08-26 22-12-42.png":String
def upload
uploaded_io = params[:person][:picture]
File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'wb') do |file|
file.write(uploaded_io.read)
end
end
那是我的请求参数
{"utf8"=>"✓",
"authenticity_token"=>"JqTuIpsrX/rfJ2/r74EbLjuWI/UlxpxpEWnX64ruRjO/UQfrDk/q/MhVLNOG16YJOBxmt84t4tfw4YZDFbRIzQ==",
"description"=>{"position"=>"5", "title"=>"title", "short_description"=>"qweqwe", "long_description"=>"qweqwe"},
"photos"=>{"photo"=>"Screenshot from 2017-08-26 22-12-42.png"},
"button"=>""}
答案 0 :(得分:0)
我建议使用carrierwave执行文件上传。使用它的方法非常简单,并且有不同的处理工具。
您可以使用以下指南实现此gem:
https://github.com/carrierwaveuploader/carrierwave/wiki/How-to:-use-carrierwave-with-devise
答案 1 :(得分:0)
首先,我要感谢@kiddorails的帮助。
这里的文档很清楚" http://guides.rubyonrails.org/form_helpers.html#uploading-files",问题出在视图文件中,我没有在表单中放置帮助器,
<%= f.file_field :picture %>
如文档中所示。
<%= form_for @person do |f| %>
<%= f.file_field :picture %>
<% end %>