{"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":"fungiert_als_votable","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/fungiert_als_votable\/","title":{"rendered":"Wie verwende ich 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> ist ein Ruby-Gem, das speziell f\u00fcr Rails\/ActiveRecord-Modelle geschrieben wurde. Mit diesem Gem kann f\u00fcr jedes Modell \u00fcber \u201eGef\u00e4llt mir\u201c\/\u201eGef\u00e4llt mir\u201c usw. abgestimmt werden. Es erm\u00f6glicht die Abstimmung \u00fcber jedes Modell in beliebigen Bereichen. Mit diesem Gem k\u00f6nnen wir jedes Modell abstimmen. Stimmen m\u00fcssen nicht von einem Benutzer stammen, sie k\u00f6nnen von jedem Modell (z. B. einer Gruppe oder einem Team) stammen und bieten eine einfach zu schreibende\/lesbare Syntax.\n\n<strong>Edelsteininstallation<\/strong>\n<blockquote>gem &#039;acts_as_votable&#039;<\/blockquote>\nF\u00fcgen Sie die obige Zeile in Gemfile hinzu und f\u00fchren Sie bundle install aus. Unterst\u00fctzte Ruby- und Rails-Versionen\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>\nDieses Gem verwendet eine Abstimmungstabelle, um alle Abstimmungsinformationen zu speichern. Um eine Stimmenmigration zu generieren, f\u00fchren Sie die folgenden Befehle aus\n<blockquote>Schienen generieren act_as_votable:migration rake db:migrate<\/blockquote>\nUm ein Modell zu bewerten, verwenden Sie einfach \u201eacts_as_votable\u201c im Modell\n\n<strong>Beispiel:<\/strong>\n<blockquote>class Article &lt; ActiveRecord::Base wirkt_as_votable end @article = Article.new(:name =&gt; &#039;mein neuer Artikel&#039;) @article.save @article.liked_by @user @article.votes_for.size # =&gt; 1<\/blockquote>\nNachfolgend finden Sie einige Abstimmungsbeispiele. Alle diese Aufrufe sind g\u00fcltig und akzeptabel\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;like&#039; @article.vote_by :voter =&gt; @user5 , :vote =&gt; &#039;Gef\u00e4llt mir nicht&#039;<\/blockquote>\nStandardm\u00e4\u00dfig sind alle Stimmen positiv, daher hat @user3 eine \u201egute\u201c Stimme f\u00fcr @article abgegeben. @user1, @user3 und @user4 haben alle f\u00fcr @article gestimmt. @user2 und @user5 hingegen haben gegen @article gestimmt. Mit jedem Wort kann f\u00fcr oder gegen einen Beitrag gestimmt werden, z.\u00a0B. \u201ePositiv\/Negativ\u201c, \u201eUp\/Down\u201c, \u201eGef\u00e4llt mir\u201c\/\u201eGef\u00e4llt mir nicht\u201c usw. Die booleschen Flags \u201etrue\u201c und \u201efalse\u201c sind ebenfalls anwendbar.\n\n<strong>Beispiele mit Bereichen:<\/strong>\n\nMit diesem Juwel k\u00f6nnen wir unserer Abstimmung einen Spielraum hinzuf\u00fcgen\n<blockquote># positive\/Gef\u00e4llt mir-Stimmen @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;Gef\u00e4llt mir&#039;, :vote_scope =&gt; &#039;Rang&#039; # negative\/Gef\u00e4llt mir nicht Stimmen @article.downvote_from @user2, :vote_scope =&gt; &#039;Rang&#039; @article.vote_by :voter =&gt; @user2, :vote =&gt; &#039;Gef\u00e4llt mir nicht&#039; , :vote_scope =&gt; &#039;rank&#039; # z\u00e4hlt sie! @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 # stimmbares Modell kann sein In verschiedenen Bereichen vom selben Benutzer abgestimmt @article.vote_by :voter =&gt; @user1, :vote_scope =&gt; &#039;week&#039; @article.vote_by :voter =&gt; @user1, :vote_scope =&gt; &#039;month&#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>\nDurch das Hinzuf\u00fcgen von Gewichten zu unseren Stimmen k\u00f6nnen wir unserer Stimme Gewicht verleihen. Der Standardwert ist 1.\n<blockquote># positive\/Gef\u00e4llt mir-Stimmen @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 # negative\/Dislike-Stimmen @article.downvote_from @user2, :vote_scope =&gt; &#039;rank&#039;, :vote_weight =&gt; 1 @article.vote_by :voter =&gt; @user2 , :vote =&gt; &#039;Gef\u00e4llt mir nicht&#039;, :vote_scope =&gt; &#039;rank&#039;, :vote_weight =&gt; 3 # z\u00e4hlt sie zusammen! @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;rank&#039;).sum(:vote_weight) # =&gt; 4<\/blockquote>\nMit dem Voter k\u00f6nnen wir unsere W\u00e4hler als_voter agieren lassen, um einige Reservefunktionen bereitzustellen.\n\n<strong>Zum Beispiel<\/strong>\n<blockquote>Klasse Benutzer &lt; ActiveRecord::Base wirkt_as_voter end @user.likes @article @article.votes.size # =&gt; 1 @article.likes.size # =&gt; 1 @article.dislikes.size # =&gt; 0<\/blockquote>\nUm zu \u00fcberpr\u00fcfen, ob ein W\u00e4hler \u00fcber ein Modell abgestimmt hat, k\u00f6nnen wir voted_for? verwenden. Mithilfe von voted_as_when_voted_for k\u00f6nnen wir \u00fcberpr\u00fcfen, wie der W\u00e4hler abgestimmt hat. Au\u00dferdem k\u00f6nnen wir pr\u00fcfen, ob der W\u00e4hler positiv oder negativ gestimmt hat. Aliase f\u00fcr Methoden voted_up_on? ist voted_up_for? , gefallen? und voted_down_on? ist voted_down_for?, unbeliebt? Au\u00dferdem k\u00f6nnen wir eine Liste aller Objekte erhalten, f\u00fcr die ein Benutzer gestimmt hat. Dadurch werden die tats\u00e4chlichen Objekte anstelle von Instanzen des Vote-Modells zur\u00fcckgegeben. Alle Objekte werden eifrig geladen\n\n<strong>Registrierte Stimmen:<\/strong>\n\nW\u00e4hler k\u00f6nnen nur einmal pro Modell abstimmen. In diesem Beispiel z\u00e4hlt die 2. Stimme nicht, da @user bereits f\u00fcr @post gestimmt hat.\n<blockquote>@user.likes @post @user.likes @post @post.votes # =&gt; 1 @post.likes # =&gt; 1<\/blockquote>\nUm zu \u00fcberpr\u00fcfen, ob eine Stimme gez\u00e4hlt oder registriert wurde, verwenden Sie vote_registered? zu unserem Modell nach der Abstimmung. Zum Beispiel:\n<blockquote>@product.liked_by @user @product.vote_registered? # =&gt; true @product.liked_by =&gt; @user @product.vote_registered? # =&gt; falsch, weil @user bereits so abgestimmt hat @product.disliked_by @user @product.vote_registered? # =&gt; wahr, weil der Benutzer seine Stimme ge\u00e4ndert hat<\/blockquote>\nUm zu \u00fcberpr\u00fcfen, ob eine Stimme registriert oder gez\u00e4hlt wurde, verwenden Sie vote_registered? zu unserem Modell nach der Abstimmung. Um doppelte Eintr\u00e4ge desselben W\u00e4hlers zuzulassen, verwenden Sie die Option Duplikat. Beachten Sie auch, dass dadurch einige andere Methoden eingeschr\u00e4nkt werden, die sich nicht mit Mehrfachstimmen befassen. In diesem Fall wird die letzte Stimme ber\u00fccksichtigt.\n<blockquote>@post.vote_by W\u00e4hler: @user, :duplicate =&gt; true<\/blockquote>\n<strong>Caching:<\/strong>\n\nUm die Leistung zu beschleunigen, k\u00f6nnen wir der Tabelle unseres abstimmbaren Modells Cache-Spalten hinzuf\u00fcgen. Diese Spalten werden nach jeder Abstimmung automatisch aktualisiert.\n\n<a href=\"\/de\/kontaktiere-uns\/\">Kontaktiere uns<\/a> oder kommentieren Sie unten, um mehr \u00fcber uns zu erfahren.\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\">Abonnieren Sie die neuesten Updates<\/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=\"Lader\"><\/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=\"f3398b88ec\">\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=\"E-Mail-Adresse\">\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=\"Name\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Abonnieren\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"de\"\/><\/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\">zusammenh\u00e4ngende Posts<\/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=\"Kaminari-Juwel\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/kaminari-juwel\/?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=\"Kaminari-Juwel\" 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=\"Kaminari-Juwel\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/kaminari-juwel\/?related_post_from=37277\">\r\n        Kaminari-Juwel  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/warum-sollte-man-ruby-on-rails-entwickler-engagieren\/?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=\"Warum sollte man im Jahr 2022 Ruby-on-Rails-Entwickler einstellen?\" 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=\"Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/warum-sollte-man-ruby-on-rails-entwickler-engagieren\/?related_post_from=30627\">\r\n        Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/bedeutung-der-softwarearchitektur-bei-der-entwicklung-von-unternehmenssoftware\/?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=\"Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware\" 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=\"Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/bedeutung-der-softwarearchitektur-bei-der-entwicklung-von-unternehmenssoftware\/?related_post_from=36250\">\r\n        Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: Die besten IDEs f\u00fcr die Ruby on Rails-Entwicklung\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/ruby-idee-die-besten-ideen-fur-die-ruby-on-rails-entwicklung\/?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=\"BESTE IDEEN F\u00dcR DIE RUBY ON RAILS-ENTWICKLUNG\" 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: Die besten IDEs f\u00fcr die Ruby on Rails-Entwicklung\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/ruby-idee-die-besten-ideen-fur-die-ruby-on-rails-entwicklung\/?related_post_from=36125\">\r\n        Ruby IDE: Die besten IDEs f\u00fcr die Ruby on Rails-Entwicklung  <\/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\/de\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/\"> <span class=\"screen-reader-text\">Wie man eine skalierbare SaaS-Plattform mit Ruby on Rails aufbaut<\/span> Weiterlesen \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\/de\/blog\/fachartikel\/fungiert_als_votable\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/blog\/fachartikel\/fungiert_als_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=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\u00a0Minuten\" \/>\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\":\"de\",\"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\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@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\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@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\":\"de\",\"@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":"Was ist Acts_as_Votable Ruby Gem? - RailsCarma","description":"Acts_As_Votable ist ein Ruby-Gem, das speziell f\u00fcr Rails\/ActiveRecord-Modelle geschrieben wurde und es jedem Modell erm\u00f6glicht, \u00fcber \u201eGef\u00e4llt mir\u201c\/\u201eGef\u00e4llt mir\u201c zu bewerten","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\/de\/blog\/fachartikel\/fungiert_als_votable\/","og_locale":"de_DE","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\/de\/blog\/fachartikel\/fungiert_als_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":{"Verfasst von":"admin","Gesch\u00e4tzte Lesezeit":"5\u00a0Minuten"},"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":"de","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":"Was ist 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 ist ein Ruby-Gem, das speziell f\u00fcr Rails\/ActiveRecord-Modelle geschrieben wurde und es jedem Modell erm\u00f6glicht, \u00fcber \u201eGef\u00e4llt mir\u201c\/\u201eGef\u00e4llt mir\u201c zu bewerten","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/acts_as_votable\/"]}]},{"@type":"ImageObject","inLanguage":"de","@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 \u2013 Ruby on Rails-Entwicklungsunternehmen, spezialisiert auf Offshore-Entwicklung","description":"RailsCarma ist ein Ruby on Rails-Entwicklungsunternehmen in Bangalore. Wir sind auf die Offshore-Ruby-on-Rails-Entwicklung mit Sitz in den USA und Indien spezialisiert. Stellen Sie erfahrene Ruby on Rails-Entwickler f\u00fcr das ultimative Web-Erlebnis ein.","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":"de"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"SchienenCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@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":"Administrator","image":{"@type":"ImageObject","inLanguage":"de","@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\/de\/wp-json\/wp\/v2\/posts\/8756","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/comments?post=8756"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/posts\/8756\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/media\/31872"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/media?parent=8756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/categories?post=8756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/tags?post=8756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}