Ruby: Apprentissage de Ruby

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 !

Ruby est un langage de programmation interprété de haut niveau conçu pour la simplicité et la productivité. Sa syntaxe élégante permet aux développeurs d'accomplir plus avec moins de code, tout en supportant les paradigmes de programmation procédurale, orientée objet et fonctionnelle.

Ruby on Rails, souvent simplement appelé Rails ou RoR, est un framework d'application web robuste écrit en Ruby. Construit sur le modèle Modèle-Vue-Contrôleur (MVC), Rails favorise la convention plutôt que la configuration et met l'accent sur le principe DRY (Don't Repeat Yourself), rendant plus facile et efficace la création d'applications web complexes.

L'interface en ligne de commande (CLI) de Rails est un outil puissant pour gérer votre application Rails. Elle inclut des commandes pour créer de nouveaux projets, démarrer le serveur, accéder à l'application via la console, et générer divers composants tels que des modèles et des contrôleurs. Voici quelques commandes essentielles que chaque développeur Rails devrait connaître :

  1. Créer un nouveau projet Rails :

    rails new project_name
    
  2. Démarrer le serveur Rails :

    rails server
    
  3. Ouvrir la console Rails :

    rails console
    
  4. Générer un nouveau contrôleur :

    rails generate controller controller_name action_name
    
  5. Générer un nouveau modèle :

    rails generate model ModelName field:type
    
  6. Exécuter les migrations de base de données :

    rails db:migrate
    

Le routage connecte les requêtes entrantes aux contrôleurs et actions appropriés dans une application Rails. Il offre un moyen simple de concevoir les URLs et points d'accès pour votre application. Les routes sont définies dans le fichier config/routes.rb. Voici quelques modèles de routage courants :

  1. Route racine :

    root 'controller_name#action_name'
    
  2. Route générique :

    get '/path', to: 'controller#action'
    
  3. Route de ressource (génère des routes CRUD standard) :

    resources :model_name
    

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
    

ActiveRecord est le système d'object-relational mapping (ORM) intégré de Rails. Il abstrait les interactions avec la base de données et vous permet de travailler avec les enregistrements de base de données comme des objets Ruby natifs. Voici quelques requêtes ActiveRecord courantes pour récupérer et manipuler des données :

  1. Récupérer tous les objets :

    ModelName.all
    
  2. Trouver un objet par ID :

    ModelName.find(id)
    
  3. Trouver un objet par une valeur de champ spécifique :

    ModelName.find_by(field: value)
    

Embedded Ruby (ERB) est un système de templating qui vous permet d'écrire du HTML avec du code Ruby intégré. Les helpers ERB sont des méthodes qui simplifient les tâches courantes dans les vues. Voici quelques exemples :

  1. Créer un lien :

    <%= link_to "Link Text", path %>
    
  2. Afficher les messages d'erreur :

    <% @object.errors.full_messages.each do |message| %>
      <div><%= message %></div>
    <% end %>
    

Les migrations vous permettent de faire évoluer votre schéma de base de données de manière cohérente et vérifiable. Elles utilisent un DSL Ruby, vous n'avez donc pas à écrire du SQL brut à la main, rendant vos modifications de schéma indépendantes de la base de données. Voici comment créer et exécuter une migration :

  1. Créer une nouvelle migration :

    rails generate migration MigrationName
    
  2. Dans le fichier de migration généré (db/migrate/) :

    class MigrationName < ActiveRecord::Migration[6.0]
      def change
        add_column :table_name, :column_name, :type
        remove_column :table_name, :column_name
      end
    end