我想學習從零編程經驗的鐵軌,並有一個應用程序即時嘗試。在這裏有很多人的幫助下,我有一個可以通過下拉菜單選擇哪個區域的過濾器的索引頁面。我希望能夠產生相同的效果,但使用複選框,並且還可以選擇多個區域添加到過濾器。這是我到目前爲止有:使用複選框來過濾記錄
型號:
class Venue < ActiveRecord::Base
belongs_to :user
has_many :reviews
belongs_to :area
scope :north, where(:area_id => "2")
scope :west, where(:area_id => "3")
scope :south, where(:area_id => "4")
end
控制器:
def index
if (params[:area] && Area.all.collect(&:name).include?(params[:area][:name]))
@venues = Venue.send(params[:area][:name].downcase)
else
@venues = Venue.all
end
end
場地index.html.erb:
<div class="filter_options_container">
<form class="filter_form", method="get">
<%= select("area", "name", Area.all.collect(&:name), {:prompt => 'All Areas'}) %><br>
<input type="submit" value="Filter" />
</form>
<br><br>
<form class="filter_form", method="get">
<% Area.find(:all).each do |a| %>
<%= check_box_tag("area", "name") %>
<%= a.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>
第一種形式(下拉式菜單)在filter_options_container工作正常,但複選框(第二種形式)返回「無法將符號轉換爲整數「我錯過了什麼/做錯了什麼?
謝謝任何幫助。
謝謝非常好的答案它的工作! – Dave 2011-02-03 20:40:01