{"id":8756,"date":"2016-09-06T12:56:40","date_gmt":"2016-09-06T12:56:40","guid":{"rendered":"https:\/\/dev.railscarma.com\/acts_as_votable\/"},"modified":"2021-06-06T11:46:31","modified_gmt":"2021-06-06T11:46:31","slug":"actes_as_votable","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/actes_as_votable\/","title":{"rendered":"Comment utiliser Acts_As_Votable Gem ?"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"8756\" class=\"elementor elementor-8756\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-12639522 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"12639522\" 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-4e907a3a\" data-id=\"4e907a3a\" 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-709e7325 elementor-widget elementor-widget-text-editor\" data-id=\"709e7325\" 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<strong>Acts_As_Votable<\/strong> est une gemme rubis sp\u00e9cialement \u00e9crite pour les mod\u00e8les Rails\/ActiveRecord et cette gemme permet \u00e0 n&#039;importe quel mod\u00e8le d&#039;\u00eatre vot\u00e9 pour un vote positif\/n\u00e9gatif, comme\/n&#039;aime pas, etc. Il permet \u00e0 n&#039;importe quel mod\u00e8le d&#039;\u00eatre vot\u00e9 dans des port\u00e9es arbitraires en utilisant cette gemme, nous pouvons voter pour n&#039;importe quel mod\u00e8le. les votes ne doivent pas n\u00e9cessairement provenir d&#039;un utilisateur, ils peuvent provenir de n&#039;importe quel mod\u00e8le (comme un groupe ou une \u00e9quipe) et fournissent une syntaxe facile \u00e0 \u00e9crire\/lire.\n\n<strong>Installation de gemmes<\/strong>\n<blockquote>gemme &#039;acts_as_votable&#039;<\/blockquote>\nAjoutez la ligne ci-dessus dans Gemfile et ex\u00e9cutez l&#039;installation du bundle Versions Ruby et Rails prises en charge\n<blockquote>Ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1.0 Rails 3.0, 3.1, 3.2, 4.0, 4.1+<\/blockquote>\nCe Gem utilise la table de vote pour enregistrer toutes les informations de vote. Pour g\u00e9n\u00e9rer une migration de vote, ex\u00e9cutez les commandes ci-dessous\n<blockquote>les rails g\u00e9n\u00e8rent actes_as_votable: migration rake db: migrer<\/blockquote>\nPour \u00e9valuer n&#039;importe quel mod\u00e8le, utilisez simplement &quot;acts_as_votable&quot; dans le mod\u00e8le\n\n<strong>Exemple:<\/strong>\n<blockquote>class Article &lt; ActiveRecord::Base actes_as_votable end @article = Article.new(:name =&gt; &#039;mon nouvel article&#039;) @article.save @article.liked_by @user @article.votes_for.size # =&gt; 1<\/blockquote>\nVous trouverez ci-dessous quelques exemples de votes. Tous ces appels sont valides et acceptables.\n<blockquote>@article.liked_by @user1 @article.downvote_from @user2 @article.vote_by :voter =&gt; @user3 @article.vote_by :voter =&gt; @user4, :vote =&gt; &#039;j&#039;aime&#039; @article.vote_by :voter =&gt; @user5 , :vote =&gt; &#039;Je n&#039;aime pas&#039;<\/blockquote>\nPar d\u00e9faut, tous les votes sont positifs, donc @user3 a \u00e9mis un \u00ab bon \u00bb vote pour @article. @user1, @user3 et @user4 ont tous vot\u00e9 en faveur de @article. @user2 et @user5 de l&#039;autre ont vot\u00e9 contre @article. N&#039;importe quel mot fonctionne pour voter en faveur ou contre un message comme Positif\/N\u00e9gatif, Haut\/Bas, J&#039;aime\/Je n&#039;aime pas... etc., les drapeaux bool\u00e9ens vrai et faux sont \u00e9galement applicables.\n\n<strong>Exemples avec des \u00e9tendues\u00a0:<\/strong>\n\nEn utilisant ce joyau, nous pouvons ajouter une port\u00e9e \u00e0 notre vote\n<blockquote># votes positifs\/j&#039;aime @article.liked_by @user1, :vote_scope =&gt; &#039;rank&#039; @article.vote_by :voter =&gt; @user3, :vote_scope =&gt; &#039;rank&#039; @article.vote_by :voter =&gt; @user5, :vote =&gt; &#039;j&#039;aime&#039;, :vote_scope =&gt; &#039;rank&#039; # votes n\u00e9gatifs\/Je n&#039;aime pas @article.downvote_from @user2, :vote_scope =&gt; &#039;rank&#039; @article.vote_by :voter =&gt; @user2, :vote =&gt; &#039;Je n&#039;aime pas&#039; , :vote_scope =&gt; &#039;rank&#039; # comptez-les\u00a0! @article.find_votes_for(:vote_scope =&gt; &#039;rank&#039;).size # =&gt; 5 @article.get_likes(:vote_scope =&gt; &#039;rank&#039;).size # =&gt; 3 @article.get_upvotes(:vote_scope =&gt; &#039;rank&#039;). .size # =&gt; 3 @article.get_dislikes(:vote_scope =&gt; &#039;rank&#039;).size # =&gt; 2 @article.get_downvotes(:vote_scope =&gt; &#039;rank&#039;).size # =&gt; 2 Le mod\u00e8le votable # peut \u00eatre vot\u00e9 sous diff\u00e9rentes port\u00e9es par le m\u00eame utilisateur @article.vote_by :voter =&gt; @user1, :vote_scope =&gt; &#039;semaine&#039; @article.vote_by :voter =&gt; @user1, :vote_scope =&gt; &#039;mois&#039; @article.votes_for.size # =&gt; 2 @article.find_votes_for(:vote_scope =&gt; &#039;week&#039;).size # =&gt; 1 @article.find_votes_for(:vote_scope =&gt; &#039;month&#039;).size # =&gt; 1<\/blockquote>\nEn ajoutant du poids \u00e0 nos votes, nous pouvons ajouter du poids \u00e0 notre vote. La valeur par d\u00e9faut est 1.\n<blockquote># votes positifs\/j&#039;aime @article.liked_by @user1, :vote_weight =&gt; 1 @article.vote_by :voter =&gt; @user3, :vote_weight =&gt; 2 @article.vote_by :voter =&gt; @user5, :vote =&gt; &#039;like &#039;, :vote_scope =&gt; &#039;rank&#039;, :vote_weight =&gt; 3 votes n\u00e9gatifs\/Je n&#039;aime pas # @article.downvote_from @user2, :vote_scope =&gt; &#039;rank&#039;, :vote_weight =&gt; 1 @article.vote_by :vote =&gt; @user2 , :vote =&gt; &#039;Je n&#039;aime pas&#039;, :vote_scope =&gt; &#039;rank&#039;, :vote_weight =&gt; 3 # comptez-les\u00a0! @article.find_votes_for(:vote_scope =&gt; &#039;rank&#039;).sum(:vote_weight) # =&gt; 6 @article.get_likes(:vote_scope =&gt; &#039;rank&#039;).sum(:vote_weight) # =&gt; 6 @article.get_upvotes (:vote_scope =&gt; &#039;rank&#039;).sum(:vote_weight) # =&gt; 6 @article.get_dislikes(:vote_scope =&gt; &#039;rank&#039;).sum(:vote_weight) # =&gt; 4 @article.get_downvotes(:vote_scope = &gt; &#039;rang&#039;).sum(:vote_weight) # =&gt; 4<\/blockquote>\nL&#039;\u00e9lecteur, nous pouvons demander \u00e0 nos \u00e9lecteurs d&#039;agir_as_voter pour fournir une fonctionnalit\u00e9 de r\u00e9serve.\n\n<strong>Par exemple<\/strong>\n<blockquote>classe Utilisateur &lt; ActiveRecord::Base actes_as_voter end @user.likes @article @article.votes.size # =&gt; 1 @article.likes.size # =&gt; 1 @article.dislikes.size # =&gt; 0<\/blockquote>\nPour v\u00e9rifier si un \u00e9lecteur a vot\u00e9 sur un mod\u00e8le, on peut utiliser vot\u00e9_for?. nous pouvons v\u00e9rifier comment l&#039;\u00e9lecteur a vot\u00e9 en utilisant voted_as_when_voted_for, nous pouvons \u00e9galement v\u00e9rifier si l&#039;\u00e9lecteur a vot\u00e9 pour ou contre. Alias pour les m\u00e9thodes vot\u00e9es_up_on\u00a0? est vot\u00e9_up_for\u00a0? , aim\u00e9? et vot\u00e9_down_on\u00a0? est vot\u00e9_down_for\u00a0?, n&#039;aime pas\u00a0? nous pouvons \u00e9galement obtenir une liste de tous les objets pour lesquels un utilisateur a vot\u00e9. Cela renvoie les objets r\u00e9els au lieu des instances du mod\u00e8le Vote. Tous les objets sont charg\u00e9s avec impatience\n\n<strong>Votes enregistr\u00e9s\u00a0:<\/strong>\n\nLes \u00e9lecteurs ne peuvent voter qu&#039;une seule fois par mod\u00e8le. Dans cet exemple, le 2\u00e8me vote ne compte pas car @user a d\u00e9j\u00e0 vot\u00e9 pour @post.\n<blockquote>@user.likes @post @user.likes @post @post.votes # =&gt; 1 @post.likes # =&gt; 1<\/blockquote>\nPour v\u00e9rifier si un vote a \u00e9t\u00e9 compt\u00e9 ou enregistr\u00e9, utilisez vote_registered ? sur notre mod\u00e8le apr\u00e8s vote. Par exemple:\n<blockquote>@product.liked_by @user @product.vote_registered ? # =&gt; vrai @product.liked_by =&gt; @user @product.vote_registered ? # =&gt; faux, car @user a d\u00e9j\u00e0 vot\u00e9 de cette fa\u00e7on @product.disliked_by @user @product.vote_registered ? # =&gt; vrai, car l&#039;utilisateur a modifi\u00e9 son vote<\/blockquote>\nPour v\u00e9rifier si un vote a \u00e9t\u00e9 enregistr\u00e9 ou compt\u00e9, utilisez vote_registered ? sur notre mod\u00e8le apr\u00e8s vote. Pour autoriser les entr\u00e9es en double d&#039;un m\u00eame \u00e9lecteur, utilisez l&#039;option duplicate. Notez \u00e9galement que cela limitera certaines autres m\u00e9thodes qui ne traitent pas les votes multiples, dans ce cas, le dernier vote sera pris en compte.\n<blockquote>@post.vote_by voteur\u00a0: @user,\u00a0:duplicate =&gt; true<\/blockquote>\n<strong>Mise en cache\u00a0:<\/strong>\n\nPour acc\u00e9l\u00e9rer les performances, nous pouvons ajouter des colonnes de cache \u00e0 la table de notre mod\u00e8le votable. Ces colonnes seront automatiquement mises \u00e0 jour apr\u00e8s chaque vote.\n\n<a href=\"\/fr\/contactez-nous\/\">Contactez-nous<\/a> ou commentez ci-dessous pour en savoir plus sur nous.\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<section class=\"elementor-section elementor-top-section elementor-element elementor-element-37c9d121 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"37c9d121\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\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-27649f3a\" data-id=\"27649f3a\" 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-1602a60 elementor-widget elementor-widget-heading\" data-id=\"1602a60\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Abonnez-vous pour les derni\u00e8res mises \u00e0 jour<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b022491 elementor-widget elementor-widget-shortcode\" data-id=\"4b022491\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"chargeur\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"d748cea384\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Adresse e-mail\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nom\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"S&#039;abonner\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"fr\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\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=\"Gemme de Kaminari\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/joyau-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"joyau kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gemme de Kaminari\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/joyau-kaminari\/?related_post_from=37277\">\r\n        Gemme de Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/pourquoi-embaucher-des-developpeurs-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"pourquoi embaucher des d\u00e9veloppeurs Ruby on Rails en 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/pourquoi-embaucher-des-developpeurs-ruby-on-rails\/?related_post_from=30627\">\r\n        Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/importance-de-larchitecture-logicielle-dans-le-developpement-de-logiciels-dentreprise\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/importance-de-larchitecture-logicielle-dans-le-developpement-de-logiciels-dentreprise\/?related_post_from=36250\">\r\n        Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/ruby-ide-les-meilleures-idees-pour-le-developpement-de-ruby-on-rails\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"MEILLEURES ID\u00c9ES POUR LE D\u00c9VELOPPEMENT DE RUBY ON RAILS\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/ruby-ide-les-meilleures-idees-pour-le-developpement-de-ruby-on-rails\/?related_post_from=36125\">\r\n        Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails  <\/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>Acts_As_Votable is ruby gem specifically written for Rails\/ActiveRecord models and This gem allows any model to be voted on upvote\/downvote like\/dislike, etc. It allows any model to be voted under arbitrary scopes using this gem we can vote any model. votes do not have to come from a user, they can come from any model &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/\"> <span class=\"screen-reader-text\">Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails<\/span> Lire la suite \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":31872,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[681,682],"class_list":["post-8756","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-acts_as_votable","tag-acts_as_votable-gem"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What is Acts_as_Votable Ruby Gem ? - RailsCarma<\/title>\n<meta name=\"description\" content=\"Acts_As_Votable is ruby gem specifically written for Rails\/ActiveRecord models &amp; allows any model to be voted on upvote\/downvote like\/dislike\" \/>\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\/articles-techniques\/actes_as_votable\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is Acts_as_Votable Ruby Gem ? - RailsCarma\" \/>\n<meta property=\"og:description\" content=\"Acts_As_Votable is ruby gem specifically written for Rails\/ActiveRecord models &amp; allows any model to be voted on upvote\/downvote like\/dislike\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/actes_as_votable\/\" \/>\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=\"2016-09-06T12:56:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-06T11:46:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/Insight-into-act_as_votable-Gem.jpg\" \/>\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\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\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=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"How to use Acts_As_Votable Gem?\",\"datePublished\":\"2016-09-06T12:56:40+00:00\",\"dateModified\":\"2021-06-06T11:46:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/\"},\"wordCount\":929,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/Insight-into-act_as_votable-Gem.jpg\",\"keywords\":[\"Acts_As_Votable\",\"Acts_As_Votable Gem\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/\",\"name\":\"What is Acts_as_Votable Ruby Gem ? - RailsCarma\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/Insight-into-act_as_votable-Gem.jpg\",\"datePublished\":\"2016-09-06T12:56:40+00:00\",\"dateModified\":\"2021-06-06T11:46:31+00:00\",\"description\":\"Acts_As_Votable is ruby gem specifically written for Rails\/ActiveRecord models & allows any model to be voted on upvote\/downvote like\/dislike\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/Insight-into-act_as_votable-Gem.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/Insight-into-act_as_votable-Gem.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to use Acts_As_Votable Gem?\"}]},{\"@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\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Qu&#039;est-ce que Acts_as_Votable Ruby Gem\u00a0? -RailsCarma","description":"Acts_As_Votable est un joyau rubis sp\u00e9cialement \u00e9crit pour les mod\u00e8les Rails\/ActiveRecord et permet \u00e0 n&#039;importe quel mod\u00e8le d&#039;\u00eatre vot\u00e9 pour un vote positif\/n\u00e9gatif, comme\/je n&#039;aime pas.","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\/articles-techniques\/actes_as_votable\/","og_locale":"fr_FR","og_type":"article","og_title":"What is Acts_as_Votable Ruby Gem ? - RailsCarma","og_description":"Acts_As_Votable is ruby gem specifically written for Rails\/ActiveRecord models & allows any model to be voted on upvote\/downvote like\/dislike","og_url":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/actes_as_votable\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2016-09-06T12:56:40+00:00","article_modified_time":"2021-06-06T11:46:31+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/Insight-into-act_as_votable-Gem.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"How to use Acts_As_Votable Gem?","datePublished":"2016-09-06T12:56:40+00:00","dateModified":"2021-06-06T11:46:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/"},"wordCount":929,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/Insight-into-act_as_votable-Gem.jpg","keywords":["Acts_As_Votable","Acts_As_Votable Gem"],"articleSection":["Technical Articles"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/","name":"Qu&#039;est-ce que Acts_as_Votable Ruby Gem\u00a0? -RailsCarma","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/Insight-into-act_as_votable-Gem.jpg","datePublished":"2016-09-06T12:56:40+00:00","dateModified":"2021-06-06T11:46:31+00:00","description":"Acts_As_Votable est un joyau rubis sp\u00e9cialement \u00e9crit pour les mod\u00e8les Rails\/ActiveRecord et permet \u00e0 n&#039;importe quel mod\u00e8le d&#039;\u00eatre vot\u00e9 pour un vote positif\/n\u00e9gatif, comme\/je n&#039;aime pas.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/Insight-into-act_as_votable-Gem.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/09\/Insight-into-act_as_votable-Gem.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"How to use Acts_As_Votable Gem?"}]},{"@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\/5f2228a2dec7549056e709de6eb85d21","name":"administrateur","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"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\/8756","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/comments?post=8756"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/8756\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media\/31872"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media?parent=8756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/categories?post=8756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/tags?post=8756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}