This site uses cookies own and third. If you continue to browse consider to accept the use of cookies. OK More Info.

Realizar un simple Search Form en Rails 4

  • 0 Replies
  • 4626 Views

0 Members and 1 Guest are viewing this topic.

Offline Alejandro_99

  • *
  • Ex-Staff
  • *****
  • Posts: 451
  • Actividad:
    0%
  • Reputación 1
  • Humildad y sencillez ante todo.
    • View Profile

Realizar un simple Search Form en Rails 4

  • on: September 24, 2014, 04:06:32 pm
1) Ingresamos a la carpeta de nuestro proyecto luego nos dirigimos a: /app/views/alumnos/index.html.erb una vez dentro del archivo ingresamos la siguiente linea:

Code: (ruby) You are not allowed to view links. Register or Login
<%= form_tag(alumnos_path, :method => "get", id: "search-form") do %>
<%= text_field_tag :search, params[:search], placeholder: "Buscar Alumno por D.N.I" %>
<%= submit_tag "Buscar", :name => nil %>
<% end %>

La vista usará form_tag con un método HTTP GET. Cabe mencionar que a este código de la vista lo puede colocar donde mas les plazca.

2) Manteniendonos dentro del proyecto nos vamos al siguiente directorio: app/models/alumno.rb una vez que hemos ingresado creamos un método para buscar la base de datos y devolver un resultado exacto de una consulta:

Code: (ruby) You are not allowed to view links. Register or Login
class Alumno < ActiveRecord::Base

def self.search(query)
where("DNI like ?", "%#{query}%")

end

end

3) Finalmente nos vamos a nuestro controlador de nuestro proyecto para ello hay que ingresar al siguiente directorio: app/controllers/alumnos_controller.rb
 


He ingresamos el siguiente código:

Code: (ruby) You are not allowed to view links. Register or Login
def index

 if params[:search]
    @alumnos = Alumno.search(params[:search]).order("created_at DESC")
  else
    @alumnos = Alumno.all.order('created_at DESC')
  end
  #@alumnos = Alumno.all
  end

Con esto hemos activado la función de búsqueda en nuestro modelo.
« Last Edit: September 24, 2014, 04:08:43 pm by Alejandro9999 »