ruby on rails 3-选择不同的活动记录



我有一个名为Shops的模型,其属性为brands,brands是一个文本字段,包含多个品牌。我想做的是选择所有独特的品牌,并按字母顺序显示它们

@brands = Shop.all(:select => 'distinct(brands)')

接下来该怎么办?

如果Shop#brands可以保存多个值,例如:"rony,hoke,fike",那么我可以不情愿地建议这样做:

@brands = Shop.all(:select => 'brands').each { |s| 
  s.brands.split(',').map { |b| 
    b.strip.downcase
  }
}.flatten.uniq.sort

但是,您应该认真考虑您的数据模型,以防止此类黑客行为。你可以把品牌分解成它自己的表+模型,并与Shop建立多对多的关系。

相关内容

  • 没有找到相关文章

最新更新