如何从ActiveRecord :: Relation对象中删除对象

时间:2019-05-13 10:08:03

标签: ruby-on-rails ruby hash

我正在从数据库加载数据,并将其放回该对象中:

#<ActiveRecord::Relation [#<CarStatusDefinition id: 10, status_name: "New Approval", keyword: 'NEW', ...>, #<CarStatusDefinition id: 11, status_name: "Used", keyword: 'USED', ...>, ...]>

当我将数据加载到红宝石中时,在某些情况下,我需要删除该对象中的一项,特别是带有关键字 USED 的项。

我试图这样做:

if @record.used.blank?
  status_collection = status_collection.reject! { |hash| hash[:keyword] == 'USED' }
end

但是,关键字为 USED (带有id 11的项目仍包含在最终对象中)。

如何从最终哈希中删除ID为11的对象?我在这里俯瞰什么?

1 个答案:

答案 0 :(得分:2)

CarStatusDefinition.where.not(keyword: "USED")将使用关键字USED过滤掉所有的CarStatusDefinition