0
我有一個場地模型,每個場地都屬於一個區域和一個類型。我在索引頁上有兩個由複選框組成的表格,允許我過濾由他們屬於哪個類型或區域顯示的場地記錄。然而,只有def索引中的最後一行正在被使用,我怎樣才能將它們組合起來,使兩個表單都處於活動狀態?我如何進行多次搜索?
控制器:
class VenuesController < ApplicationController
def index
@venues = Venue.all(:conditions => {:area_id => params[:areas]})
@venues = Venue.all(:conditions => {:venuetype_id => params[:venuetypes]})
end
end
查看:
<div class="filter_options_container">
<form class="filter_by_area_form", method="get">
<% Area.all.each do |a| %>
<%= check_box_tag("areas[]", a.id) %>
<%= a.name %>
<% end %>
<input type="submit" value="Filter" />
</form>
<br><br>
<form class="filter_by_venuetype_form", method="get">
<% Venuetype.all.each do |v| %>
<%= check_box_tag("venuetypes[]", v.id) %>
<%= v.name %>
<% end %>
<input type="submit" value="Filter" />
</form>
</div>
<div class="venue_partials_container">
<%= render :partial => 'venue', :collection => @venues %>
<div class="clearall"></div>
<%= link_to 'add a new venue', new_venue_path, :class => "add_new_venue_button" %>
</div>
所以只有venuetype形式的作品,或者如果我改變了高清指數爲:
def index
@venues = Venue.all(:conditions => {:venuetype_id => params[:venuetypes]})
@venues = Venue.all(:conditions => {:area_id => params[:areas]})
end
那麼只有區形式工程。
EDIT
伊夫改變了控制器讀取:
def index
@venues = Venue.all(:conditions => {:venuetype_id => params[:venuetypes]}&&{:area_id => params[:areas]})
end
和視圖:
<div class="filter_options_container">
<form class="filter_form", method="get">
<fieldset class="filter_form_fieldset">
<% Area.all.each do |a| %>
<%= check_box_tag("areas[]", a.id) %>
<%= a.name %>
<% end %>
</fieldset><br>
<fieldset class="filter_form_fieldset">
<% Venuetype.all.each do |v| %>
<%= check_box_tag("venuetypes[]", v.id) %>
<%= v.name %>
<% end %>
<input type="submit" value="Filter" />
</fieldset>
</form>
</div>
選擇的區域,並且從形式的類型並點擊後提交按鈕的URL顯示「/場地?區域[] = 2 & venuetypes [] = 13」但仍然只過濾區域的結果而不是鍵入。
感謝您的任何幫助。
有關使用或查詢什麼? 2個增益:1個查詢,1個變量 – apneadiving 2011-02-04 23:43:47
您還應該只製作一個而不是兩個,以便將`venuetypes`和`areas`參數發送到服務器。 – 2011-02-04 23:48:05