Bases & syntaxe
## Route
get "home/index"
Définir une route vers l'action
indexdu contrôleurHome
## Model
class User < ApplicationRecord
validates :email, presence: true
end
Créer un modèle avec validation
Structures de données
## Array
array = [1, 2, 3]
Manipuler des tableaux en Ruby
## Hash
hash = {name: "John", age: 30}
Utiliser les dictionnaires pour stocker et récupérer des données
Fonctions & methodes essentielles
## Méthode helper
def formatted_date(date)
date.strftime("%B %d, %Y")
end
Créer une méthode helper personnalisée
## Scope activerecord
scope :active, -> { where(active: true) }
Définir un scope dans un modèle ActiveRecord
Patterns courants
## Mécanisme de callback
before_action :check_permission, only: [:edit, :update]
Utiliser des callbacks pour exécuter du code avant ou après une action du contrôleur
## Decorateur
class ProductDecorator < Draper::Decorator
def price_with_tax
"#{object.price} + #{object.tax}"
end
end
Appliquer un décorateur pour ajouter des fonctionnalités aux objets métier
Opérations avancées
## Migration
class CreateUsers < ActiveRecord::Migration[6.0]
def change
create_table :users do |t|
t.string :name
t.timestamps
end
end
end
Créer une migration pour créer une nouvelle table
Debugging & outils
## Debugger
binding.pry
Utiliser le debugger intégré de Rails pour déboguer du code
## Log
logger.info "Utilisateur a été créé"
Écrire des logs dans les fichiers de log