En este post trataré de explicar la forma mas limpia y rápida de construir un buscador RESTful en nuestra aplicación Rails.
El action encargado de devolver los resultados del buscador será el index y el verbo será GET puesto que es la convención para devolver información de listas de objetos. En nuestro ejemplo vamos a trabajar sobre un buscador de noticias, que buscará por texto (en los campos titulo, entradilla, y texto) y entre fechas en el campo created_at.
El partial del buscador quedará tal que así
<%form_tag({:controller => :noticias, :action => :index}, :method => :get) do%>
<div>
<%= label_tag "busqueda_texto", "Texto "%>
<%= text_field_tag "busqueda[texto]" %>
</div>
<div>
<%= label_tag "busqueda_desde", "Fecha desde "%>
<%= date_select "busqueda[desde]" %>
</div>
<div>
<%= label_tag "busqueda_hasta", "Fecha hasta "%>
<%= date_select "busqueda[hasta]" %>
</div>
<%=submit_tag("Buscar")%>
<%end%>
Esto nos dejara las opciones de búsqueda en el hash params[:busqueda].
(más…)
