Фильтр раскрывающихся результатов поиска в Rails - PullRequest
0 голосов
/ 25 июля 2011

Я новичок в Rails и пытаюсь отфильтровать результаты поиска по выпадающему меню.Выпадающий список представляет собой тип байкета (т.е. «Дорога», «Гора»), который является атрибутом модели велосипеда.Я бы тогда тоже хотел отсортировать по цене.

Просмотр моего индекса:

<% form_tag(bikes_path, :method => :get) do %>
<%= select_tag( :biketype, options_for_select(Bike::BIKETYPES) )%>
<%= submit_tag "Submit" %>
<% end %>

И мой bikes_controller для поиска по местоположению (используется геокодер):

   def index 
     @title = "Bikes"
       if params[:search].present?
         @bikes = Bike.near(params[:search], 50, :order => :distance).paginate(:page => params[:page], :per_page => 9)
       else
         @bikes = Bike.paginate(:page => params[:page], :per_page => 9)
       end
   end

Если у вас есть какие-либо предложения относительнообновить мой контроллер и модель, чтобы получить фильтр и сортировать, что было бы здорово.Мне рекомендовали сферы применения, но я не уверен, как их реализовать.Большое спасибо, Уилл.

1 Ответ

1 голос
/ 25 июля 2011
class BikesController < ApplicationsController

   def index 
     @title = "Bikes"
     @bikes = Bike.near_search(params[:search]).\
                paginate(:page => params[:page], :per_page => 9)

   end
end


class Bike  

  def self.near_search(params)
    if params
      near(params, 50, :order => :distance)
    else
      all
    end
  end

end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...