У меня есть таблица мест.По умолчанию на странице указателей мест перечислены все записи места, и вы можете фильтровать их по областям и / или вводить, используя форму на той же странице с кнопкой отправки и перезагрузкой страницы.
Затем отображаются все найденные места и форма сбрасывается сама.
Как можно обновить список мест без перезагрузки страницы, просто щелкнув параметры фильтра «Разные»?Таким образом, нет кнопки отправки, и форма сохраняет свое измененное состояние.
Контроллер объектов
def index
if
@venues = Venue.with_type(params[:venuetypes]).with_area(params[:areas]).order("average_rating DESC").all
else
@venues = Venue.all
end
@venues = @venues.paginate :per_page => 15, :page => params[:page]
end
Объекты index.html.erb Это уже использует jQuery-UI, чтобы улучшить внешний вид флажков
<div class="filter_options_container">
<%= form_tag '', :method => :get, :id => 'filter_form' do %>
<fieldset class="filter_form_fieldset venuetypes">
<% Venuetype.all.each do |v| %>
<p class="venuetype_check"><%= check_box_tag 'venuetypes[]', v.id, false, :id => "venuetype-#{v.id}" %>
<label for="venuetype-<%= v.id %>"><%= v.name %></label></p>
<% end %>
</fieldset>
<fieldset class="filter_form_fieldset areas">
<% Area.all.each do |a| %>
<p class="area_check"><%= check_box_tag 'areas[]', a.id, false, :id => "area-#{a.id}" %>
<label for="area-<%= a.id %>"><p1><%= a.name %></p1></label></p>
<% end %>
</fieldset>
<div class="filter_form_button">
<p2><input type="submit" value="Filter"/></p2>
</div>
<% end %>
</div>
<div class="venue_partials_container">
<%= render :partial => 'venue', :collection => @venues %>
<div class="clearall"></div>
<div class="paginate_container">
<div class="paginate">
<%= will_paginate @venues %>
</div>
</div>
</div>
Большое спасибо за любую помощь, она очень ценится!