Monday, October 29, 2012

Barra de búsqueda simple - Ruby on Rails


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

  end

y 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:

Bookmark and Share

No comments:

Related Posts Plugin for WordPress, Blogger...