Rails 4 postgres全文搜索错误(范围)

时间:2014-05-26 15:19:50

标签: ruby-on-rails ruby postgresql ruby-on-rails-4 railscasts

我一直关注使用postgres进行全文搜索的railscast,但我一直收到以下错误

未定义的局部变量或方法`作用域'#

我完全按照railscast。我安装了所有正确的宝石。 (pg_search,pg)。这是我的代码

文章控制器(我也在这里使用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,但当我将控制器更改为

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

没有区别。

我几乎到处搜索但无济于事。

1 个答案:

答案 0 :(得分:15)

scoped已被删除。请改为all