The following code present in srches_controller
def index @srches = Srch.all respond_to do |format| format.html # index.html.erb format.json { render :json => @srches }end. ..def search @srch=Srch.find(:all, :conditions => ["name LIKE ? OR address LIKE ?", "%#{params[:search]}%", "%#{params[:search]}%"])end
The searched item is now displayed in the new search page.
But I need to display the searched item in the same index page.
What is the solution?
You can pass parameter search
to index page & search your results with:
def index @srches = Srch.scoped if params[:search].present? @srches = @srches.where(['name LIKE ? OR address LIKE ?', "%#{params[:search]}%", "%#{params[:search]}%"]) end respond_to do |format| format.html format.json { render :json => @srches } endend
or you can set scope in your model:
scope :search, lambda{|query| if query.present? where(['name LIKE ? OR address LIKE ?', "%#{query}%", "%#{query}%"]) end}
and call it in controller with:
@srches = Srch.search(params[:search])
No comments:
Post a Comment