首页 > 解决方案 > 带有 Includes 的 Rails 控制器 where 语句

问题描述

在我的“主”控制器中,我试图查询文章表以查找链接(这是带有文章 url 的字段)包含特定域的所有文章。我这辈子都想不通。

它尝试了以下但得到以下错误:

PG::UndefinedTable: 错误:缺少表“链接”的 FROM 子句条目

这就是我的控制器中的内容:

@featured = Article.where("link.includes? 'example.com'")

任何帮助都将不胜感激。

标签: ruby-on-railsrubycontroller

解决方案


方法的字符串参数where作为 SQL 的一部分用于您的数据库引擎,而不是用于 Ruby 解释器。

所以你应该这样写:

@featured = Article.where('link LIKE ?', '%example.com%')

这里LIKE是一个 SQL 关键字。

请参阅Rails 4 LIKE 查询 - ActiveRecord 添加引号


推荐阅读