使用mount_uploaders,Carrierwave多次上传失败

时间:2015-12-17 19:26:06

标签: mysql ruby-on-rails ruby-on-rails-4 carrierwave multiple-files

我使用新方法添加多个带有运营商软件的文件,如下所示: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。

2 个答案:

答案 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'

这将解决您的问题。