王筝的博客
ruby学习

 

原代码

  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/