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 sur la documentation de Stackhero !

Stackhero propose une solution Ruby cloud prête à l'emploi 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é renforcée.
  • Profitez de la tranquillité d'esprit avec des sauvegardes automatiques, des mises à jour en un clic, et une tarification simple, transparente et prévisible.
  • Obtenez des performances optimales et une sécurité robuste grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il ne 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