{"id":41226,"date":"2026-03-18T10:58:47","date_gmt":"2026-03-18T10:58:47","guid":{"rendered":"https:\/\/www.railscarma.com\/?p=41226"},"modified":"2026-03-18T10:59:31","modified_gmt":"2026-03-18T10:59:31","slug":"rails-joins-un-guide-complet-de-linterface-active-de-requete-denregistrement","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/fr\/blog\/rails-joins-un-guide-complet-de-linterface-active-de-requete-denregistrement\/","title":{"rendered":"Rails Joins : Un guide complet de l'interface de requ\u00eate Active Record"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"41226\" class=\"elementor elementor-41226\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-718dbb9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"718dbb9\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ac57bcd\" data-id=\"ac57bcd\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f49ab0d elementor-widget elementor-widget-text-editor\" data-id=\"f49ab0d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Lorsque l'on travaille avec Ruby on Rails, l'une des fonctionnalit\u00e9s les plus puissantes \u00e0 la disposition des d\u00e9veloppeurs est Active Record. Elle simplifie les interactions avec les bases de donn\u00e9es en vous permettant d'\u00e9crire des requ\u00eates en utilisant Ruby au lieu de SQL. Cependant, au fur et \u00e0 mesure que les applications se d\u00e9veloppent, il est souvent n\u00e9cessaire d'extraire des donn\u00e9es de plusieurs tables connexes. C'est l\u00e0 que l'Active Record <\/span><b>rejoint<\/b><span style=\"font-weight: 400;\"> entrent en jeu.<\/span><\/p><p><span style=\"font-weight: 400;\">Dans ce guide, nous allons explorer les jointures Rails en profondeur, comprendre comment elles fonctionnent dans l'interface de requ\u00eate Active Record et apprendre \u00e0 les utiliser efficacement dans des sc\u00e9narios r\u00e9els.<\/span><\/p><h3><strong>Que sont les jointures dans Rails ?<\/strong><\/h3><p><span style=\"font-weight: 400;\">Une jointure est une op\u00e9ration de base de donn\u00e9es qui combine les lignes de deux tables ou plus sur la base d'une colonne connexe. Dans Rails, les jointures vous permettent d'extraire efficacement des enregistrements associ\u00e9s sans \u00e9crire de code SQL brut.<\/span><\/p><p><span style=\"font-weight: 400;\">Prenons l'exemple de deux mod\u00e8les :<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Utilisateur<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Poste<\/span><\/li><\/ul><p><span style=\"font-weight: 400;\">Un utilisateur a plusieurs messages, et un message appartient \u00e0 un utilisateur. Si vous souhaitez rechercher des utilisateurs avec leurs messages, vous pouvez utiliser des jointures.<\/span><\/p><h3><strong>Types de jointures dans Rails<\/strong><\/h3><p><span style=\"font-weight: 400;\">Rails prend principalement en charge les types de jointures suivants :<\/span><\/p><h4><strong>1. INNER JOIN (jointures)<\/strong><\/h4><p><span style=\"font-weight: 400;\">La jointure la plus couramment utilis\u00e9e dans Rails est la jointure interne (INNER JOIN).<\/span><\/p><pre><span style=\"font-weight: 400;\">Utilisateur<\/span><span style=\"font-weight: 400;\">.joins<\/span><span style=\"font-weight: 400;\">(<\/span><b><i>:posts<\/i><\/b><span style=\"font-weight: 400;\">)<\/span><\/pre><p><span style=\"font-weight: 400;\">Cette requ\u00eate ne renvoie que les utilisateurs qui ont au moins un message.<\/span><\/p><p><strong>\u00c9quivalent SQL :<\/strong><\/p><pre><b>SELECTIONNER<\/b><span style=\"font-weight: 400;\"> utilisateurs.<\/span><span style=\"font-weight: 400;\">*<\/span> <b>DE<\/b><span style=\"font-weight: 400;\"> utilisateurs<\/span>\n<b>INNER<\/b> <b>JOINDRE<\/b><span style=\"font-weight: 400;\"> des postes <\/span><b>ON<\/b><span style=\"font-weight: 400;\"> posts.user_id <\/span><span style=\"font-weight: 400;\">=<\/span><span style=\"font-weight: 400;\"> utilisateurs.<\/span><b>identifiant<\/b><span style=\"font-weight: 400;\">;<\/span><\/pre><p><strong>Points cl\u00e9s :<\/strong><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Retourne uniquement les enregistrements correspondants<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Exclut les utilisateurs sans messages<\/span><\/li><\/ul><h4><strong>2. LEFT OUTER JOIN (left_joins)<\/strong><\/h4><p><span style=\"font-weight: 400;\">Si vous souhaitez inclure tous les utilisateurs, m\u00eame ceux qui n'ont pas de messages, utilisez les jointures gauches.<\/span><\/p><pre>User.left_joins(<strong><em>:posts<\/em><\/strong>)<\/pre><p><strong>\u00c9quivalent SQL :<\/strong><\/p><pre><strong>SELECTIONNER<\/strong> utilisateurs.* <strong>DE<\/strong> utilisateurs\n<strong>GAUCHE<\/strong> <strong>EXT\u00c9RIEUR<\/strong> <strong>JOINDRE<\/strong> des postes <strong>ON<\/strong> posts.user_id = users.<strong>identifiant<\/strong>;<\/pre><p><strong>Points cl\u00e9s :<\/strong><\/p><ul><li>Inclut tous les utilisateurs<\/li><li>Les messages peuvent \u00eatre NULS pour les utilisateurs qui n'ont pas de messages<\/li><\/ul><h4><strong>3. Inclusions et jointures<\/strong><\/h4><p>Rails fournit des inclusions pour le chargement anticip\u00e9, qui est souvent confondu avec les jointures.<\/p><pre>User.includes(<strong><em>:posts<\/em><\/strong>)<\/pre><p><strong>Diff\u00e9rence :<\/strong><\/p><ul><li>jointures \u2192 filtrage des donn\u00e9es au niveau de la base de donn\u00e9es<\/li><li>comprend \u2192 emp\u00eache N+1 requ\u00eates<\/li><\/ul><h3><strong>Filtrer avec des jointures<\/strong><\/h3><p>Vous pouvez combiner des jointures avec des conditions pour filtrer les r\u00e9sultats.<\/p><pre>User.joins(<strong><em>:posts<\/em><\/strong>).o\u00f9(<strong><em>des postes :<\/em><\/strong> { <strong><em>publi\u00e9 :<\/em><\/strong> true })<\/pre><p>Cette option renvoie aux utilisateurs qui ont publi\u00e9 des articles.<\/p><h3><strong>Adh\u00e9sion \u00e0 plusieurs associations<\/strong><\/h3><p>Rails permet d'encha\u00eener plusieurs jointures.<\/p><pre>User.joins(<strong><em>des postes :<\/em><\/strong> <strong><em>:commentaires<\/em><\/strong>)<\/pre><p>Il s'agit de joindre les utilisateurs \u2192 les messages \u2192 les commentaires.<\/p><p><strong>\u00c9quivalent SQL :<\/strong><\/p><pre><strong>SELECTIONNER<\/strong> utilisateurs.* <strong>DE<\/strong> utilisateurs\n<strong>INNER<\/strong> <strong>JOINDRE<\/strong> des postes <strong>ON<\/strong> posts.user_id = users.<strong>identifiant<\/strong>\n<strong>INNER<\/strong> <strong>JOINDRE<\/strong> commentaires <strong>ON<\/strong> comments.post_id = posts.<strong>identifiant<\/strong>;<\/pre><h3><strong>S\u00e9lection de colonnes sp\u00e9cifiques<\/strong><\/h3><p>Par d\u00e9faut, les jointures renvoient toutes les colonnes de la table de base.<\/p><pre>User.joins(<strong><em>:posts<\/em><\/strong>).select(\"users.name, posts.title\")<\/pre><p><strong>Conseil :<\/strong><\/p><p>Utilisez cette fonction pour optimiser les performances et r\u00e9duire l'utilisation de la m\u00e9moire.<\/p><h3><strong>Utilisation de la distinction avec les jointures<\/strong><\/h3><p>Les jointures peuvent renvoyer des enregistrements en double.<\/p><pre>User.joins(<strong><em>:posts<\/em><\/strong>).distinct<\/pre><p>Cela permet de s'assurer que des utilisateurs uniques sont renvoy\u00e9s.<\/p><h3><strong>Utilisation de groupes et de comptages<\/strong><\/h3><p>Vous pouvez agr\u00e9ger des donn\u00e9es \u00e0 l'aide de jointures.<\/p><pre>User.joins(<strong><em>:posts<\/em><\/strong>).group(\"users.id\").count<\/pre><p><strong>Exemple de sortie :<br \/><\/strong>{1 =&gt; 5, 2 =&gt; 3}<\/p><p>Cela montre le nombre de messages par utilisateur.<\/p><h3><strong>Joints Rails avanc\u00e9s avec les fragments SQL<\/strong><\/h3><p>Parfois, les aides Active Record ne suffisent pas.<\/p><pre>User.joins(\"INNER JOIN posts ON posts.user_id = users.id AND posts.published = true\")<\/pre><p><strong>Cas d'utilisation :<\/strong><\/p><ul><li>Conditions complexes<\/li><li>Optimisation des performances<\/li><\/ul><h3><strong>Utilisation de jointures avec des champs d'application<\/strong><\/h3><p>Les port\u00e9es permettent de r\u00e9utiliser les joints.<\/p><pre><strong>classe<\/strong> Utilisateur &lt; ApplicationRecord\n  a_plusieurs <strong><em>:posts<\/em><\/strong>\n\n\u00a0 champ d'application <strong><em>:with_published_posts<\/em><\/strong>, -&gt; {\n    joins(<strong><em>:posts<\/em><\/strong>).o\u00f9(<strong><em>des postes :<\/em><\/strong> { <strong><em>publi\u00e9 :<\/em><\/strong> true })\n  }\n<strong>fin<\/strong><\/pre><p><strong>Usage:<\/strong><\/p><pre>Utilisateur.avec_postes_publi\u00e9s<\/pre><h3><strong>\u00c9viter les requ\u00eates N+1<\/strong><\/h3><p>Les requ\u00eates N+1 constituent un probl\u00e8me de performance courant.<\/p><p><strong>Mauvais exemple :<\/strong><\/p><pre>users = User.all\nusers.each <strong>faire<\/strong> |user|\n  utilisateur.posts.each <strong>faire<\/strong> |post|\n    met post.title\n\u00a0 <strong>fin<\/strong>\n<strong>fin<\/strong><\/pre><p><strong>Solution :<\/strong><\/p><pre>User.includes(<strong><em>:posts<\/em><\/strong>)<\/pre><h3><strong>Jointures vs inclusions vs pr\u00e9charge<\/strong><\/h3><table width=\"528\"><thead><tr><th width=\"176\">M\u00e9thode<\/th><th width=\"176\">Objectif<\/th><th width=\"176\">Comportement SQL<\/th><\/tr><\/thead><tbody><tr><td width=\"176\">rejoint<\/td><td width=\"176\">Filtrage<\/td><td width=\"176\">INNER JOIN<\/td><\/tr><tr><td width=\"176\">jointures_gauche<\/td><td width=\"176\">Inclure tous les<\/td><td width=\"176\">JOINTURE EXTERNE GAUCHE<\/td><\/tr><tr><td width=\"176\">comprend<\/td><td width=\"176\">\u00c9viter N+1<\/td><td width=\"176\">Requ\u00eates multiples ou JOIN<\/td><\/tr><tr><td width=\"176\">pr\u00e9charge<\/td><td width=\"176\">Toujours s\u00e9parer les requ\u00eates<\/td><td width=\"176\">Non JOIN<\/td><\/tr><\/tbody><\/table><h3><strong>Consid\u00e9rations sur les performances<\/strong><\/h3><p><strong>1. L'indexation<\/strong><\/p><p>S'assurer que les cl\u00e9s \u00e9trang\u00e8res sont index\u00e9es :<\/p><pre>add_index <strong><em>:posts<\/em><\/strong>, <strong><em>:user_id<\/em><\/strong><\/pre><p><strong>2. \u00c9viter le surchargement<\/strong><\/p><p>Utilisez la fonction de s\u00e9lection pour limiter les colonnes.<\/p><p><strong>3. Utiliser le filtrage au niveau de la base de donn\u00e9es<\/strong><\/p><p>Il faut toujours pr\u00e9f\u00e9rer les conditions de jonction.<\/p><h3><strong>Les pi\u00e8ges les plus fr\u00e9quents<\/strong><\/h3><p><strong>1. Duplicata d'enregistrements<\/strong><\/p><p>Utiliser .distinct si n\u00e9cessaire.<\/p><p><strong>2. Colonnes ambigu\u00ebs<\/strong><\/p><p>Utiliser des pr\u00e9fixes de table :<\/p><pre>select(\"users.id, posts.id AS post_id\")<\/pre><p><strong>3. Mauvais type de jointure<\/strong><\/p><p>Choisissez avec soin les jointures et les jointures gauches.<\/p><h3><strong>Exemple concret<\/strong><\/h3><p>R\u00e9cup\u00e9rer les utilisateurs ayant publi\u00e9 plus de 3 articles :<\/p><pre>User.joins(<strong><em>:posts<\/em><\/strong>)<br \/>\u00a0\u00a0\u00a0 .o\u00f9(<strong><em>des postes :<\/em><\/strong> { <strong><em>publi\u00e9 :<\/em><\/strong> true })<br \/>\u00a0\u00a0\u00a0 .group(\"users.id\")<br \/>\u00a0\u00a0\u00a0 .having(\"COUNT(posts.id) &gt; 3\")<\/pre><h3><strong>Meilleures pratiques pour les jointures Rails<\/strong><\/h3><ul><li>Utiliser les jointures pour le filtrage<\/li><li>Utiliser les inclusions pour le chargement anticip\u00e9<\/li><li>Toujours tester les performances des requ\u00eates<\/li><li>Faire en sorte que les requ\u00eates soient lisibles<\/li><li>Utiliser les champs d'application pour la r\u00e9utilisation<\/li><\/ul><h2><strong>Conclusion<\/strong><\/h2><p>Les jointures Rails sont une fonctionnalit\u00e9 puissante de l'interface de requ\u00eate Active Record qui permet aux d\u00e9veloppeurs d'interroger efficacement des donn\u00e9es li\u00e9es entre plusieurs tables. En comprenant les diff\u00e9rences entre les jointures, les jointures gauches et les inclusions, vous pouvez \u00e9crire des requ\u00eates de base de donn\u00e9es optimis\u00e9es et \u00e9volutives.<\/p><p>La ma\u00eetrise des joints ne permet pas seulement d'am\u00e9liorer les performances, mais aussi de rendre votre vie plus agr\u00e9able. <a href=\"https:\/\/www.railscarma.com\/fr\/developpement-dapplications-de-rails-personnalises\/\">Applications Rails<\/a> plus facile \u00e0 maintenir et plus efficace. Qu'il s'agisse d'une petite application ou d'un grand syst\u00e8me d'entreprise, il est essentiel de savoir comment utiliser efficacement les jointures pour r\u00e9ussir.<\/p><p>RailsCarma est un leader <a href=\"https:\/\/www.railscarma.com\/fr\">Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails<\/a> sp\u00e9cialis\u00e9e dans la cr\u00e9ation d'applications web \u00e9volutives et performantes. Avec une expertise approfondie dans Active Record et des techniques d'optimisation de base de donn\u00e9es comme les jointures, RailsCarma aide les entreprises \u00e0 concevoir des architectures de donn\u00e9es efficaces, \u00e0 r\u00e9duire la charge des requ\u00eates et \u00e0 am\u00e9liorer la performance des applications. Leur \u00e9quipe se concentre sur les meilleures pratiques, un code propre et un d\u00e9veloppement ax\u00e9 sur la performance afin de garantir des applications Rails robustes et faciles \u00e0 maintenir pour les startups comme pour les entreprises.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articles Similaires<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Qu&#039;est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/quest-ce-que-offliberty-ruby-gem-et-comment-fonctionne-t-il\/?related_post_from=41304\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Offliberty Ruby Gem\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Qu&#039;est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/quest-ce-que-offliberty-ruby-gem-et-comment-fonctionne-t-il\/?related_post_from=41304\">\r\n        Qu'est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"M\u00e9thode Rails link_to : Le guide complet avec des exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/rails-link_to-method-the-complete-guide-with-examples\/?related_post_from=41296\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png\" class=\"attachment-full size-full wp-post-image\" alt=\"M\u00e9thode Rails link_to\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"M\u00e9thode Rails link_to : Le guide complet avec des exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/rails-link_to-method-the-complete-guide-with-examples\/?related_post_from=41296\">\r\n        M\u00e9thode Rails link_to : Le guide complet avec des exemples  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/?related_post_from=41273\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Construire une plateforme SaaS avec Ruby on Rails\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/?related_post_from=41273\">\r\n        Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/?related_post_from=41249\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Ruby Regex Match\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/?related_post_from=41249\">\r\n        Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>When working with Ruby on Rails, one of the most powerful features available to developers is Active Record. It simplifies database interactions by allowing you to write queries using Ruby instead of SQL. However, as applications grow, you often need to fetch data from multiple related tables. This is where joins come into play. In &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples<\/span> Lire la suite \u00bb<\/a><\/p>","protected":false},"author":5,"featured_media":41232,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1224],"tags":[],"class_list":["post-41226","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Rails Joins: A Complete Guide to Active Record Query Interface<\/title>\n<meta name=\"description\" content=\"Master Rails joins with this complete guide to the Active Record query interface. Learn inner joins, left joins, and optimize database .\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/rails-joins-un-guide-complet-de-linterface-active-de-requete-denregistrement\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rails Joins: A Complete Guide to Active Record Query Interface\" \/>\n<meta property=\"og:description\" content=\"Master Rails joins with this complete guide to the Active Record query interface. Learn inner joins, left joins, and optimize database .\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/fr\/blog\/rails-joins-un-guide-complet-de-linterface-active-de-requete-denregistrement\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-18T10:58:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-18T10:59:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/03\/Rails-Joins-A-Complete-Guide-to-Active-Record-Query-Interface.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nikhil\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nikhil\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/\"},\"author\":{\"name\":\"Nikhil\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c\"},\"headline\":\"Rails Joins: A Complete Guide to Active Record Query Interface\",\"datePublished\":\"2026-03-18T10:58:47+00:00\",\"dateModified\":\"2026-03-18T10:59:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/\"},\"wordCount\":669,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/03\/Rails-Joins-A-Complete-Guide-to-Active-Record-Query-Interface.png\",\"articleSection\":[\"Blogs\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/\",\"name\":\"Rails Joins: A Complete Guide to Active Record Query Interface\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/03\/Rails-Joins-A-Complete-Guide-to-Active-Record-Query-Interface.png\",\"datePublished\":\"2026-03-18T10:58:47+00:00\",\"dateModified\":\"2026-03-18T10:59:31+00:00\",\"description\":\"Master Rails joins with this complete guide to the Active Record query interface. Learn inner joins, left joins, and optimize database .\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/03\/Rails-Joins-A-Complete-Guide-to-Active-Record-Query-Interface.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/03\/Rails-Joins-A-Complete-Guide-to-Active-Record-Query-Interface.png\",\"width\":800,\"height\":300,\"caption\":\"Rails Joins\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rails Joins: A Complete Guide to Active Record Query Interface\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c\",\"name\":\"Nikhil\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g\",\"caption\":\"Nikhil\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Rails Joins : Un guide complet de l'interface de requ\u00eate Active Record","description":"Ma\u00eetrisez les jointures Rails avec ce guide complet de l'interface de requ\u00eate Active Record. Apprenez les jointures internes, les jointures gauches et optimisez les .","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/fr\/blog\/rails-joins-un-guide-complet-de-linterface-active-de-requete-denregistrement\/","og_locale":"fr_FR","og_type":"article","og_title":"Rails Joins: A Complete Guide to Active Record Query Interface","og_description":"Master Rails joins with this complete guide to the Active Record query interface. Learn inner joins, left joins, and optimize database .","og_url":"https:\/\/www.railscarma.com\/fr\/blog\/rails-joins-un-guide-complet-de-linterface-active-de-requete-denregistrement\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2026-03-18T10:58:47+00:00","article_modified_time":"2026-03-18T10:59:31+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/03\/Rails-Joins-A-Complete-Guide-to-Active-Record-Query-Interface.png","type":"image\/png"}],"author":"Nikhil","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"\u00c9crit par":"Nikhil","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/"},"author":{"name":"Nikhil","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c"},"headline":"Rails Joins: A Complete Guide to Active Record Query Interface","datePublished":"2026-03-18T10:58:47+00:00","dateModified":"2026-03-18T10:59:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/"},"wordCount":669,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/03\/Rails-Joins-A-Complete-Guide-to-Active-Record-Query-Interface.png","articleSection":["Blogs"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/","url":"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/","name":"Rails Joins : Un guide complet de l'interface de requ\u00eate Active Record","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/03\/Rails-Joins-A-Complete-Guide-to-Active-Record-Query-Interface.png","datePublished":"2026-03-18T10:58:47+00:00","dateModified":"2026-03-18T10:59:31+00:00","description":"Ma\u00eetrisez les jointures Rails avec ce guide complet de l'interface de requ\u00eate Active Record. Apprenez les jointures internes, les jointures gauches et optimisez les .","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/03\/Rails-Joins-A-Complete-Guide-to-Active-Record-Query-Interface.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/03\/Rails-Joins-A-Complete-Guide-to-Active-Record-Query-Interface.png","width":800,"height":300,"caption":"Rails Joins"},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/rails-joins-a-complete-guide-to-active-record-query-interface\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Rails Joins: A Complete Guide to Active Record Query Interface"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","description":"RailsCarma est une soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails \u00e0 Bangalore. Nous sommes sp\u00e9cialis\u00e9s dans le d\u00e9veloppement offshore Ruby on Rails, bas\u00e9s aux \u00c9tats-Unis et en Inde. Embauchez des d\u00e9veloppeurs Ruby on Rails exp\u00e9riment\u00e9s pour une exp\u00e9rience Web ultime.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c","name":"Nikhil","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g","caption":"Nikhil"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/41226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/comments?post=41226"}],"version-history":[{"count":4,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/41226\/revisions"}],"predecessor-version":[{"id":41230,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/41226\/revisions\/41230"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media\/41232"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media?parent=41226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/categories?post=41226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/tags?post=41226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}