Ruby on rails Rails简单搜索框抛出错误

Ruby on rails Rails简单搜索框抛出错误,ruby-on-rails,Ruby On Rails,我试图实现的搜索框有问题。我正在构建经典的twitter克隆,我希望能够搜索用户 这是我的表单的外观: <%= form_tag(users_path, method: 'get') do %> <%= text_field_tag(:search, params[:search]) %> <%= submit_tag("Search", name: nil) %> <% end %> 这是我在用户中的搜索方法: def

我试图实现的搜索框有问题。我正在构建经典的twitter克隆,我希望能够搜索用户

这是我的表单的外观:

<%= form_tag(users_path, method: 'get') do %>
      <%= text_field_tag(:search, params[:search]) %>
      <%= submit_tag("Search", name: nil) %>
<% end %>
这是我在用户中的搜索方法:

def self.search(search)
        if search
            find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
        else
            find(:all)
        end
end
我得到一个错误:

ActiveRecord::RecordNotFound in UsersController#index
Couldn't find all Users with 'id': (all, {:conditions=>["name LIKE ?", "%@dark%"]}) (found 0 results, but was looking for 2)
我想让它搜索名字,但它在搜索ID,对吗?我是rails新手,所以我通过制作这个应用程序来学习。

你必须使用where,而不是在搜索方法中查找。 检查和

ActiveRecord::RecordNotFound in UsersController#index
Couldn't find all Users with 'id': (all, {:conditions=>["name LIKE ?", "%@dark%"]}) (found 0 results, but was looking for 2)