RESTful routing is a fundamental concept in Ruby on Rails that simplifies the implementation of CRUD (Create, Read, Update, Delete) operations in web applications. In this article, we’ll dive into RESTful routing in Rails with practical code examples to help you understand and implement it effectively in your projects.
Comprendre le routage RESTful dans Rails
RESTful routing is based on the idea that web applications should follow a set of conventions for handling different types of requests. These conventions map HTTP verbs (GET, POST, PUT, DELETE) to controller actions and make your application’s behavior more predictable and consistent.
1. Créer une ressource
Let’s start by creating a simple resource, say, “articles.”
Borne #
les rails génèrent un échafaudage Titre de l'article : corps de chaîne : texte
Cette commande génère une nouvelle ressource, comprenant un contrôleur (ArticlesController) et des vues pour les opérations CRUD.
2. Indexer et afficher les actions
L'action index répertorie tous les articles et l'action show affiche un article spécifique.
Application #/controllers/articles_controller.rb
classe ArticlesController <ApplicationController
indice déf @articles = Article.tous
fin
définitivement montrer
@article = Article.find(params[:id])
fin
fin
3. Nouvelles et créer des actions
La nouvelle action affiche un formulaire pour créer un nouvel article, tandis que l'action de création gère la soumission du formulaire et crée un nouvel enregistrement dans la base de données.
Application #/controllers/articles_controller.rb
classe ArticlesController <ApplicationController
# …
définitivement nouveau
@article = Article.nouveau
fin
créer par défaut
@article = Article.new(article_params)
si @article.save
redirect_to @article
autre
render ‘new’
fin
fin
privé
def article_params
params.require(:article).permit(:title, :body)
fin
fin
4. Modifier et mettre à jour les actions
L'action de modification affiche un formulaire pour mettre à jour un article existant, et l'action de mise à jour gère la soumission du formulaire et met à jour l'enregistrement de l'article.
Application #/controllers/articles_controller.rb
classe ArticlesController <ApplicationController
# …
modifier par défaut
@article = Article.find(params[:id])
fin
mise à jour par défaut
@article = Article.find(params[:id])
si @article.update(article_params)
redirect_to @article
autre
render ‘edit’
fin
fin
# …
fin
5. Action de destruction
L'action détruire supprime un article de la base de données.
Application #/controllers/articles_controller.rb
classe ArticlesController <ApplicationController
# …
définitivement détruire
@article = Article.find(params[:id])
@article.destroy
redirect_to articles_path
fin
fin
6. Configuration des itinéraires
Dans votre fichier config/routes.rb, Rails génère automatiquement des routes RESTful pour votre ressource.
# config/routes.rb
Rails.application.routes.draw faire
ressources :articles
# …
fin
Avec ces itinéraires, votre application Rails prend désormais en charge toutes les opérations CRUD standard pour les articles.
Conclusion
Le routage RESTful dans Rails fournit un moyen structuré et efficace de gérer les opérations CRUD dans vos applications Web. En suivant ces conventions et en utilisant des exemples de code comme ceux fournis dans cet article, vous pouvez rapidement créer des fichiers puissants et maintenables. applications web avec Ruby on Rails.