Ruby: Apprendre 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 profitez de la configuration automatique des certificats HTTPS pour une sécurité renforcée.
- Bénéficiez de la sauvegarde automatique, des mises à jour en un clic et d'une tarification simple, transparente et prévisible.
- Profitez d'une performance optimale et d'une sécurité renforcée grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Ruby cloud hosting de Stackhero !
Ruby et Ruby on Rails
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 davantage avec moins de code, tout en prenant en charge les paradigmes procédural, orienté objet et fonctionnel.
Ruby on Rails, souvent appelé simplement Rails ou RoR, est un framework robuste pour le développement d'applications web écrit en Ruby. Construit sur le modèle Model-View-Controller (MVC), Rails privilégie la convention plutôt que la configuration et met en avant le principe DRY (dont repeat yourself), ce qui facilite et accélère la création d'applications web complexes.
Interface en ligne de commande Rails (CLI)
L'interface en ligne de commande (CLI) de Rails est un outil puissant pour gérer votre application Rails. Elle propose des commandes pour créer de nouveaux projets, démarrer le serveur, accéder à l'application via la console et générer différents composants comme des modèles et des contrôleurs. Voici quelques commandes essentielles à connaître pour tout développeur Rails :
-
Créer un nouveau projet Rails :
rails new project_name -
Démarrer le serveur Rails :
rails server -
Ouvrir la console Rails :
rails console -
Générer un nouveau contrôleur :
rails generate controller controller_name action_name -
Générer un nouveau modèle :
rails generate model ModelName field:type -
Exécuter les migrations de base de données :
rails db:migrate
Routage Rails
Le routage relie 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 endpoints de votre application. Les routes sont définies dans le fichier config/routes.rb. Voici quelques schémas de routage courants :
-
Route racine :
root 'controller_name#action_name' -
Route générique :
get '/path', to: 'controller#action' -
Route resource (génère les routes CRUD standards) :
resources :model_name
Actions des contrôleurs Rails
Les contrôleurs servent d'intermédiaire entre les modèles et les vues en recevant les requêtes et en générant les réponses appropriées. Les exemples suivants illustrent des actions courantes pour lister, afficher, créer, modifier et supprimer des ressources :
-
Action index (lister tous les objets) :
def index @objects = ModelName.all end -
Action show (afficher un objet) :
def show @object = ModelName.find(params[:id]) end -
Action new (afficher le formulaire de création) :
def new @object = ModelName.new end -
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 -
Action edit (afficher le formulaire de modification) :
def edit @object = ModelName.find(params[:id]) end -
Action update (appliquer les 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 -
Action destroy (supprimer un objet) :
def destroy @object = ModelName.find(params[:id]) @object.destroy redirect_to model_name_path end
Requêtes de base avec Rails ActiveRecord
ActiveRecord est le système ORM (object-relational mapping) intégré à Rails. Il simplifie les interactions avec la base de données et permet de manipuler les enregistrements comme des objets Ruby natifs. Voici quelques requêtes ActiveRecord courantes pour récupérer et modifier des données :
-
Récupérer tous les objets :
ModelName.all -
Trouver un objet par son ID :
ModelName.find(id) -
Trouver un objet par la valeur d'un champ spécifique :
ModelName.find_by(field: value)
Helpers ERB Rails
Embedded Ruby (ERB) est un système de templates qui 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 :
-
Créer un lien :
<%= link_to "Link Text", path %> -
Afficher les messages d'erreur :
<% @object.errors.full_messages.each do |message| %> <div><%= message %></div> <% end %>
Migrations Rails
Les migrations permettent de faire évoluer le schéma de votre base de données de manière cohérente et vérifiable. Elles utilisent un DSL Ruby, ce qui évite d'écrire du SQL brut à la main et rend vos modifications indépendantes du type de base de données. Voici comment créer et exécuter une migration :
-
Créer une nouvelle migration :
rails generate migration MigrationName -
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