Ruby on rails 3 元搜索未定义方法';全部';内部控制器

Ruby on rails 3 元搜索未定义方法';全部';内部控制器,ruby-on-rails-3,Ruby On Rails 3,我希望用MetaSearch在我的Rails 3应用程序中搜索用户。然而,当我开始学习Railscast 251时,我已经在UsersController索引操作中得到了一个未定义的方法“all”。这是代码: def index @search = User.search(params[:search]) @users = @search.all end 我的表格的开头: <% form_for :search, @search, :html => {:method =&g

我希望用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 %>

Ryan和John都建议在索引操作中使用这些代码,但显然有些地方出了问题。有什么想法吗?

您是否使用其他搜索解决方案,如thinkingsphinx或在模型中定义搜索方法?如果是,那么它首先定义搜索方法,而metasearch不使用它,源代码:

alias_method :search, :metasearch unless respond_to?(:search) 
所以您只需要使用元搜索方法:

@search = User.metasearch(params[:search])

返回类似的
未定义的方法“relation”
什么是@search.class return?什么是ruby版本?
@search = User.metasearch(params[:search])