【发布时间】:2014-11-22 06:38:41
【问题描述】:
我有一个带有 Facility 模型的 Rails 3.2.14 应用程序,我需要根据名为 facility_name 的字段更新 Facility 模型中的 region_id。
所以我正在尝试更新设施名称以 DFW 开头的所有设施。
在控制台中我尝试了这个:
Facility.where("facility_name: ilike 'DFW'")
这给了我 nil 或 0 记录返回。
我希望能够做这样的事情来更新 Facility 模型中的 region_id:
Facility.where("facility_name: ilike 'DFW'").update_all(region_id: '1')
但这不起作用,因为我的 where 方法报告计数为 0,即使有大量的 facility_name 以 DFW 开头的记录。
是我的语法错误还是在 Rails 3 中不可能做到这一点?如果没有,我将如何在不使用 crud/rails_admin 的情况下使用此区域 id 更新 100 多条记录?
我问了一个关于如何使用 update_all 的类似问题,但它没有涵盖条件部分。希望这不会被视为重复。
【问题讨论】:
标签: ruby-on-rails-3 rails-activerecord