Skip to content

Latest commit

 

History

History
25 lines (17 loc) · 1.49 KB

File metadata and controls

25 lines (17 loc) · 1.49 KB

3- Métodos y acciones

Un controlador es una clase Ruby que hereda de ApplicationController y tiene métodos como cualquier otra clase. Cuando su aplicación recibe una solicitud, el enrutamiento determinará qué controlador y acción ejecutar, entonces Rails crea una instancia de ese controlador y ejecuta el método con el mismo nombre que la acción.

class ClientsController < ApplicationController
  def new
  end
end

Por ejemplo, si un usuario va a /clients/new en su aplicación para agregar un nuevo cliente, Rails creará una instancia de ClientsController y llamará a su nuevo método. Tenga en cuenta que el método vacío del ejemplo anterior funcionaría correctamente porque Rails procesará por defecto la vista new.html.erb, a menos que la acción indique lo contrario. El nuevo método podría poner a disposición de la vista una variable de instancia @client creando un nuevo Cliente:

def new
  @client = Client.new
end

La Guía de Layouts y Rendering explica esto con más detalle.

ApplicationController hereda de ActionController::Base, que define una serie de métodos útiles. Esta guía cubre algunos de estos, pero si tienes curiosidad de ver lo que hay ahí, puedes verlos todos en la documentación de la API o en la fuente misma.

Sólo los métodos públicos son llamados como acciones. Es una buena práctica reducir la visibilidad de los métodos (privados o protegidos) que no pretenden ser acciones, como los métodos auxiliares o los filtros.