我使用新方法添加多个带有运营商软件的文件,如下所示:https://github.com/carrierwaveuploader/carrierwave#multiple-file-uploads
当我尝试保存对象时出现此错误:
Invalid JSON text: "Invalid value." at position 1 in value (or column) '---
- photo1.jpg
- photo2.jpg
'.
使用: Rails 4.2.1 MySQL 5.7.10 Ruby 2.2.2
有谁知道它能是什么?
-
我修复它将我的项目从MySQL迁移到PostgreSQL。
答案 0 :(得分:4)
我在mysql和rails 4上遇到了同样的问题,Carrierwave有多个上传文件(图片在这里), 我把它添加到我的model.rb:
serialize :menu_images, JSON
下的
mount_uploaders :menu_images, AvatarUploader
当然:menu_images是多个文件的列名。 它修复了问题,无需更改数据库。
真诚的。
答案 1 :(得分:0)
您可能正在阅读github上的master branch上的carrierwave文档。
如果你的Gemfile中有以下内容:
gem 'carrierwave'
然后在编写本文时,您将安装carrierwave 0.11.2。
mount_uploaders
方法在此版本中不可用,它是currently on the master branch。
如果您想要使用此方法,则应将此行添加到Gemfile中:
gem 'carrierwave', github: 'carrierwaveuploader/carrierwave'
这将解决您的问题。