Estoy tratando de aprender los raíles desde cero experiencia de programación y tengo una aplicación que estoy tratando de hacer. Con mucha ayuda de las personas aquí, tengo una página de índice de lugares que son filtrables por qué área pertenecen a través de un menú desplegable. Me gustaría poder tener el mismo efecto pero usando casillas de verificación y también poder seleccionar áreas múltiples para agregar al filtro. Esto es lo que tengo hasta ahora:Uso de casillas de verificación para filtrar registros
Modelo:
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
controlador:
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
Lugares 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>
la primera forma (los menús desplegables) en filter_options_container funciona bien pero las casillas de verificación (la segunda forma) están devolviendo "no se puede convertir Symbol into Integer "¿Qué estoy perdiendo/haciendo mal?
Gracias por cualquier ayuda.
¡Muchas gracias por la brillante respuesta de su funcionamiento! – Dave
@Dave Glad Yo podría ayudar! –