首页 > 解决方案 > 从 activerecord 结果中删除记录

问题描述

product_keywords是一个字符串数组。

gifts是 ActiveRecord 查询的结果

基本上,我想从gifts(见if子句)中删除某些结果。如果gifts是一个普通数组,它会相当容易,但我不想失去 ActiveRecord 功能。

gifts.each do | gift |
  if product_keywords.all? { |keyword| gift.product.name.downcase.include? keyword }
    # ?????
  end
end

ETA:我不想编辑数据库。我只想从结果对象中删除某些记录。

标签: ruby-on-rails-4activerecord

解决方案


这似乎是我一直在寻找的。

gifts = gifts.reject { | gift | !product_keywords.all? { |keyword| gift.product.name.downcase.include? keyword } }


推荐阅读