Ruby: Actions des contrôleurs Rails

Cette documentation fait partie du guide Apprentissage de Ruby. Consultez le guide complet ici : Un guide complet sur Ruby et Rails.

👋 Bienvenue dans la documentation Stackhero !

Stackhero propose une solution Ruby cloud clé en main qui offre de nombreux avantages, notamment :

  • Déployez votre application en quelques secondes avec un simple git push.
  • Utilisez votre propre nom de domaine et bénéficiez de la configuration automatique des certificats HTTPS pour une sécurité accrue.
  • Profitez de la sauvegarde automatique, des mises à jour en un clic et d'une tarification simple, transparente et prévisible.
  • Bénéficiez d'une performance optimale et d'une sécurité robuste grâce à une infrastructure privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il ne vous faut que 5 minutes pour essayer la solution Ruby cloud hosting de Stackhero !

Les contrôleurs servent d'intermédiaire entre les modèles et les vues en recevant les requêtes entrantes et en rendant les réponses appropriées. Les exemples suivants illustrent des actions courantes de contrôleur pour lister, afficher, créer, mettre à jour et supprimer des ressources :

  1. Action index (lister tous les objets) :

    def index
      @objects = ModelName.all
    end
    
  2. Action show (afficher un seul objet) :

    def show
      @object = ModelName.find(params[:id])
    end
    
  3. Action new (afficher le formulaire pour un nouvel objet) :

    def new
      @object = ModelName.new
    end
    
  4. Action create (enregistrer un nouvel objet) :

    def create
      @object = ModelName.new(params.require(:model_name).permit(:field1, :field2))
      if @object.save
        redirect_to @object
      else
        render :new
      end
    end
    
  5. Action edit (afficher le formulaire pour modifier un objet existant) :

    def edit
      @object = ModelName.find(params[:id])
    end
    
  6. Action update (appliquer des modifications à un objet existant) :

    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. Action destroy (supprimer un objet) :

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