Ruby: Acciones de controladores de Rails

Esta documentación forma parte de la guía Aprendiendo Ruby. Consulte la guía completa aquí: Una guía completa de Ruby y Rails.

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece una solución Ruby cloud lista para usar que proporciona una serie de beneficios, incluyendo:

  • Despliegue su aplicación en segundos con un simple git push.
  • Use su propio nombre de dominio y benefíciese de la configuración automática de certificados HTTPS para una mayor seguridad.
  • Disfrute de la tranquilidad con copias de seguridad automáticas, actualizaciones con un clic, y precios sencillos, transparentes y predecibles.
  • Obtenga un rendimiento óptimo y una seguridad robusta gracias a una VM privada y dedicada.

Ahorre tiempo y simplifique su vida: solo toma 5 minutos probar la solución de Ruby cloud hosting de Stackhero!

Los controladores sirven como intermediarios entre los modelos y las vistas al recibir solicitudes entrantes y renderizar las respuestas apropiadas. Los siguientes ejemplos ilustran acciones comunes de controladores para listar, mostrar, crear, actualizar y eliminar recursos:

  1. Acción index (listar todos los objetos):

    def index
      @objects = ModelName.all
    end
    
  2. Acción show (mostrar un solo objeto):

    def show
      @object = ModelName.find(params[:id])
    end
    
  3. Acción new (mostrar formulario para un nuevo objeto):

    def new
      @object = ModelName.new
    end
    
  4. Acción create (guardar un nuevo objeto):

    def create
      @object = ModelName.new(params.require(:model_name).permit(:field1, :field2))
      if @object.save
        redirect_to @object
      else
        render :new
      end
    end
    
  5. Acción edit (mostrar formulario para editar un objeto existente):

    def edit
      @object = ModelName.find(params[:id])
    end
    
  6. Acción update (aplicar cambios a un objeto existente):

    def update
      @object = ModelName.find(params[:id])
      if @object.update(params.require(:model_name).permit(:field1, :field2))
        redirect_to @object
      else
        render :edit
      end
    end
    
  7. Acción destroy (eliminar un objeto):

    def destroy
      @object = ModelName.find(params[:id])
      @object.destroy
      redirect_to model_name_path
    end