我认为这是一个简单的问题:
我有一个建筑模型,每个建筑has_one城市和每个城市belongs_to建筑。我想用Squeel搜索建筑物的城市名称(而不是id)。
目前我有:
where{(zip =~ "%#{search}%") | (Building.all.map(&:city) =~ "%#{search}%")}通过邮政编码搜索很好,因为这是建筑模型的一个直接属性。这是我一直在纠结的第二个条款。
现在,我得到了一个错误:
Cannot visit NilClass我怎么才能把这事做好?
发布于 2013-06-01 22:05:49
您只需要加入城市表来过滤城市字段。
where{(zip =~ "%#{search}%") | (city.name =~ "%#{search}%")}.joins{city.outer}如果所有的建筑物都有一个城市,你可以拆除外部连接。
https://stackoverflow.com/questions/16877560
复制相似问题