serialize存入数组

本文介绍了一种优化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/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值