Rails“无法引用数组”查询

时间:2019-05-31 02:38:07

标签: ruby-on-rails ruby

我正在尝试对导航栏进行常规查询,以检查是否可以找到在任何字段中包含给定值的记录。

这是我模型中的查询:

def self.basic_search(*keywords)
  where("specialties %% ARRAY[:k] or treatments && ARRAY[:k]::varchar[] or
  neighborhood = ANY(ARRAY[:k]) or name ~ ANY(ARRAY[:k])", k: keywords)
end

然后在我的控制器中,将keywords.split(' ')参数传递给该函数。

我在控制器中收到一个TypeError,指出“无法引用数组”。

我将如何进行查询?

我尝试在Active Record and PostgreSQL - Ruby on Rails Guide之后更改数组以匹配ARRAY[:k]::varchar[],但似乎不起作用。

1 个答案:

答案 0 :(得分:1)

您为什么不使用 ransack gem 进行搜索?

https://rubygems.org/gems/ransack/versions/1.7.0