Es muy sencillo agregar una barra de búsqueda en una aplicación de rails. Aquí un pequeño tutorial:
1. Crear un form para enviar la solicitud con la palabra a buscar
Por ejemplo en su index.html.erb coloquen el siguiente código para obtener un formulario como el de la imagen arriba:
<%= form_tag({:controller => "products", :action => "index"}, :method => :get) do %> <%= text_field_tag "searchbox", params[:searchbox] %> <%= submit_tag "Buscar", :name => nil %> <% end %>
Recuerden editar el controlador y la acción a la que ustedes necesitan, éstas debe corresponder a la misma que renderea el index.html.erb donde están colocando el código.
2. Agregar código que incorpore la búsqueda:
En el archivo del modelo, en este caso sería product.rb, colocar el siguiente código para filtrar los resultados según los parámetros ingresados en la búsqueda.
def self.search(search) if search where('title LIKE ?', "%#{search}%") else scoped end end
En este caso deseo que mi búsqueda filtre de acuerdo al campo "title", ustedes deben editar eso de acuerdo a sus necesidades.
3. Por ultimo, realizar la búsqueda/filtrado en el controlador para entregar los resultados a la vista index.html.erb, luego en products_controller.erb
def index @products = Product.search(params[:searchbox]) respond_to do |format| format.html # index.html.erb end endy listo, los resultados ahora serán filtrados cuando hagan clic en el botón buscar.
Aquí algunos libros que les pueden ayudar a programar en Rails:
No comments:
Post a Comment