我希望使用MetaSearch在我的Rails 3应用中搜索用户。但是当我开始关注Railscast 251时,我已经在我的UsersController索引操作中获得了一个未定义的方法'all'。这是代码:
def index
@search = User.search(params[:search])
@users = @search.all
end
表格的开头:
<% form_for :search, @search, :html => {:method => :get} do |f| %>
<%= f.label :high_school_contains %>
<%= f.text_field :high_school_contains %><br />
<%= f.submit %>
<% end %>
在Gemfile中:
gem 'meta_search'
Ryan和Ernie Miller都建议在索引操作中沿着这些行编写代码,但显然有些错误。关于它可能是什么的任何想法?
答案 0 :(得分:0)
您是否使用thinkingsphinx等其他搜索解决方案或在模型中定义搜索方法?如果是,那么它首先定义搜索方法,元搜索不使用它,源代码:
alias_method :search, :metasearch unless respond_to?(:search)
所以你只需要使用元搜索方法:
@search = User.metasearch(params[:search])