簡単な検索モデルを作成し、検索可能な 4 つの属性を作成しました。名前、年齢、場所、性別。私が抱えている問題は、複数の属性を検索するための正しいコードが見つからないように見えることです。
たとえば、「adam」を検索すると、adam という名前のすべてのユーザーが生成されますが、london を検索すると、london のすべてのユーザーが表示されます。個別に 1 つの属性 (名前) しか検索できないため、「london」と入力すると空白の結果ページが表示されます。
/people/index.html.erb (検索フォーム)
<%= form_tag people_path, :method => 'get' do %>
<%= text_field_tag :search, params[:search]%>
<%= submit_tag "Search" %>
<% end %>
models/person.rb
class Person < ActiveRecord::Base
attr_accessible :age, :gender, :location, :name
def self.search(search, id)
if search
where(['name LIKE ?', "%#{search}%"])
else
scoped
end
end
end
people_controller.rb
def index
@people = Person.search(params[:search], params[:id])
end