【发布时间】:2018-05-07 10:52:51
【问题描述】:
当我这样做时:
apartments = Apartment.where(apart_params).delete_if{|x| x.floor == x.max_floor }
Ruby 的数组方法delete_if 在 Active Record Relation 对象上的结果
NoMethodError (undefined method `delete_if' for #<Apartment::ActiveRecord_Relation:0x00000006d84ea0>
Did you mean? delete
delete_all):
我不明白它为什么会发生 - 这个对象似乎像普通数组一样响应......
除了使用普通的 each do 块之外,还有什么更聪明的选择吗?
也许您可以提供一个建议,让您可以通过智能 SQL (postgres) 查询来拒绝位于最后一层的公寓?
【问题讨论】:
标签: sql ruby-on-rails arrays activerecord