我的rails应用将@locations
数据提取到ActiveRecord::AssociationRelation
数组中。
@locations
=> #<ActiveRecord::AssociationRelation [#<Location id: 10, organization_id: 2, name: "Quitzonville", ...
我想基于:name
属性删除实例,但我还需要在之后应用.arrange_serializable
方法。
到目前为止,我已经尝试过了:
@locations.select { |loc| loc[:name] != ... }
方法,但我似乎无法在......之后应用.arrange_serializable
有人可以提供一些建议吗?
非常感谢!
答案 0 :(得分:3)
听起来你可以使用.where.not
查询来完成你想要的任务。
.select
会将ActiveRecord::AssociationRelation
转换为Array
。 where.not
会将其保留为AssociationRelation
。所以你的代码可能如下:
@locations.where.not(name: bad_names).arrange_serializable
其中bad_names
是您不想包含的单个名称,或者您不想包含的名称数组。