Des*_*ner 2 ruby arrays postgresql ruby-on-rails carrierwave
我将 Ruby on Rails 与 Postgresql 一起使用,并有一个用于附件的字符串数据库字段。现在我支持多文件上传,需要将附件字符串数据库字段转换为字符串数组,以便我可以托管多个文件。
如何使用 Rails Console 将现有的“字符串”数据库字段转换为“字符串数组”?
您不会将“字符串”数据库字段转换为“字符串数组”。您正在寻找的是序列化器。在您的模型中执行以下操作
class Post < ApplicationRecord
serialize :attachment, Array
end
# Try in rails console
Post.find 117
#=> #<Post id: 117, attachment: ["11.jpg", "22.jpg", "33.jpg"] ...>
Run Code Online (Sandbox Code Playgroud)
您可以在保存时提供一个数组,它会将其转换为字符串并存储它,而在提取它时会将字符串转换为数组并返回数组
此外,您可能希望将列从attachment重命名为attachments,因为它将包含一个数组。