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 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 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.
Interface en ligne de commande (CLI) de Rails
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 :
-
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
Routes Rails
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 :
-
Route racine :
root 'controller_name#action_name' -
Route générique :
get '/path', to: 'controller#action' -
Route de ressource (génère des routes CRUD standard) :
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 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 :
-
Action index (lister tous les objets) :
def index @objects = ModelName.all end -
Action show (afficher un seul objet) :
def show @object = ModelName.find(params[:id]) end -
Action new (afficher le formulaire pour un nouvel objet) :
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 pour modifier un objet existant) :
def edit @object = ModelName.find(params[:id]) end -
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 -
Action destroy (supprimer un objet) :
def destroy @object = ModelName.find(params[:id]) @object.destroy redirect_to model_name_path end
Requêtes de base ActiveRecord Rails
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 :
-
Récupérer tous les objets :
ModelName.all -
Trouver un objet par ID :
ModelName.find(id) -
Trouver un objet par une valeur de champ spécifique :
ModelName.find_by(field: value)
Helpers ERB Rails
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 :
-
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 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 :
-
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