首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails -如何使用Squeel搜索关联属性

Rails -如何使用Squeel搜索关联属性
EN

Stack Overflow用户
提问于 2013-06-01 21:44:12
回答 1查看 154关注 0票数 1

我认为这是一个简单的问题:

我有一个建筑模型,每个建筑has_one城市和每个城市belongs_to建筑。我想用Squeel搜索建筑物的城市名称(而不是id)。

目前我有:

代码语言:javascript
复制
where{(zip =~ "%#{search}%") | (Building.all.map(&:city) =~ "%#{search}%")}

通过邮政编码搜索很好,因为这是建筑模型的一个直接属性。这是我一直在纠结的第二个条款。

现在,我得到了一个错误:

代码语言:javascript
复制
Cannot visit NilClass

我怎么才能把这事做好?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-01 22:05:49

您只需要加入城市表来过滤城市字段。

代码语言:javascript
复制
where{(zip =~ "%#{search}%") | (city.name =~ "%#{search}%")}.joins{city.outer}

如果所有的建筑物都有一个城市,你可以拆除外部连接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16877560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档