serialize存入数组

时间:2022-05-29 04:33:43

原代码

  def get_type
type_list = ""
if categories.include?"movie"
type_list += "电影,"
end
if categories.include?"tv"
type_list += "电视剧,"
end
if categories.include?"comic"
type_list += "动漫,"
end
if categories.include?"entertainment"
type_list += "综艺"
end
type_list
end

存储的数据格式为  categories: "[\"tv\", \"entertainment\"]",

修改为

  serialize :categories, Array
  def get_type
categories_hash = {
movie: '电影',
tv: '电视剧',
comic: '动漫',
entertainment: '综艺'
}
type_list = categories.map { |category| categories_hash[category.to_sym] }.join(',')
end

存储的数据格式为 categories: "---\n- tv\n- comic\n", YAML 序列化后的样子,YAML 的数组相关文档,可看 YAML 的文档:http://yaml.org/