我一直在使用postgres进行全文搜索时遵循railscast,但我一直收到以下错误

的未定义局部变量或方法“作用域”

我已经完全遵循了railscast。我已经安装了所有正确的 gem 。 (pg_search,pg)。这是我的代码

文章 Controller (我也在这里使用acts_as_taggable)

def index

   @articles = Article.text_search(params[:query]).page(params[:page]).per_page(3)

   if params[:tag]
      @articles = Article.tagged_with(params[:tag])
   else
      @articles = Article.all
   end
end

文章模型
def self.text_search(query)
  if query.present?
    where("name @@ :q or content @@ :q", q: query)
  else
   scoped
  end
end

以及文章/索引上的表格
<%= form_tag articles_path, method: :get do %>
  <p>
    <%= text_field_tag :query, params[:query] %>
    <%= submit_tag "Search", name: nil %>
  </p>
<% end %>

我在railscast代码和我的代码之间注意到的唯一区别是,他使用will_paginate,但是当我将 Controller 更改为
@articles = Article.text_search(params[:query])

没什么区别。

香港专业教育学院搜索几乎到处,但无济于事。

最佳答案

scoped已被删除。请尝试all

关于ruby-on-rails - Rails 4 Postgres全文搜索错误(范围),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23873263/

10-12 07:34
查看更多