{"id":6489,"date":"2014-09-05T04:52:31","date_gmt":"2014-09-05T04:52:31","guid":{"rendered":"https:\/\/dev.railscarma.com\/how-to-use-rack-middleware-in-rails-for-auto-completion\/"},"modified":"2021-06-07T07:24:29","modified_gmt":"2021-06-07T07:24:29","slug":"wie-man-rack-middleware-in-schienen-fur-die-automatische-vervollstandigung-verwendet","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/de\/blog\/management\/wie-man-rack-middleware-in-schienen-fur-die-automatische-vervollstandigung-verwendet\/","title":{"rendered":"Wie verwende ich Rack-Middleware in Rails f\u00fcr die automatische Vervollst\u00e4ndigung?"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"6489\" class=\"elementor elementor-6489\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-266fe932 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"266fe932\" 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-69f67138\" data-id=\"69f67138\" 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-79e902b4 elementor-widget elementor-widget-text-editor\" data-id=\"79e902b4\" 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 style=\"text-align: justify;\">In heutigen modernen Webanwendungen sind automatische Vervollst\u00e4ndigung\/automatische Vorschl\u00e4ge weit verbreitet, von kleinen bis hin zu sehr gro\u00dfen Anwendungen. Die gleichzeitige Bereitstellung mehrerer Anfragen mit schneller Antwort vom Server ist sehr wichtig, um das Benutzererlebnis besser und angenehmer zu gestalten.<\/p>\n<p style=\"text-align: justify;\"><strong> Hier kommt Rack-Middleware ins Spiel.<\/strong><\/p>\n\n<h5 style=\"text-align: justify;\"><strong>Was ist Rack-Middleware?<\/strong>?<\/h5>\n<p style=\"text-align: justify;\">Einfach ausgedr\u00fcckt erm\u00f6glicht uns eine Rack-Middleware, Dinge vor oder nach einer Rack-Anwendung zu erledigen. Rack-Middleware wird mithilfe einer Rack-Anwendung initialisiert und sollte auf eine Aufrufmethode reagieren.<\/p>\n<p style=\"text-align: justify;\">Rack-Middleware kann die Kontrolle dar\u00fcber hinaus an andere Rack-Middleware \u00fcbergeben oder einfach mit einem Antwortcode, Inhaltstyp und Text antworten.<\/p>\n<p style=\"text-align: justify;\">1 [200, {&#039;Content-type&#039; =&gt; &#039;text\/html&#039;},[&#039;Hello Web&#039;]]<\/p>\n\n<h5 style=\"text-align: justify;\"><strong>Wie k\u00f6nnen Sie dies in einer Rails-Anwendung verwenden?<\/strong>?<\/h5>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/www.railscarma.com\/de\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Schienen<\/strong><\/a> Hat bereits einen vordefinierten Satz von Rack-Middlewares f\u00fcr Caching, Sitzungsverwaltung usw., k\u00f6nnen Sie sich die aktuellen Middlewares ansehen, indem Sie Rake-Middleware ausf\u00fchren.<\/p>\n<p style=\"text-align: justify;\">Dar\u00fcber hinaus bietet Rails auch eine gro\u00dfartige M\u00f6glichkeit, Ihrer Anwendung Ihre eigene Rack-Middleware hinzuzuf\u00fcgen. Die Verwendung einer Rack-Middleware zur Verarbeitung automatischer Vervollst\u00e4ndigungen ist gro\u00dfartig, da Sie dadurch im Vergleich zur Verarbeitung der Anforderung in einem Rails-Controller eine leichte Leistungssteigerung erzielen.<\/p>\n<p style=\"text-align: justify;\">Schauen wir uns also einen Code an, um dies zu erreichen. Anforderung \u2013 Benutzer sollte authentifiziert sein \u2013 Mit JSON mit dem Ergebnis der Abfrage antworten \u2013 Behandeln Sie die Antwort auf der Clientseite mit Javascript.<\/p>\n<p style=\"text-align: justify;\">Ruby Rack Middleware \u2013 Erstellen Sie ein Verzeichnis f\u00fcr Middlewares in Ihrer Rails-Anwendung mkdir app\/middleware.<\/p>\n<p style=\"text-align: justify;\">Erstellen Sie eine neue Datei app\/middleware\/auto_completer.rb class AutoCompleter def initialize(app) @app = app end def call(env) @request = Rack::Request.new(env) if env[\u201cPATH_INFO\u201c] == \u201e \/autocomplete\u201c session = @request.env[&#039;rack.session&#039;] params = @request.params if session &amp;&amp; session[\u201cuser_id\u201c].present? Users = User.select(\u201eid, name\u201c).like(params[\u201eq\u201c]) [200, {\u201cContent-Type\u201c =&gt; \u201eapplication\/json\u201c}, [users.to_json]] else [404, {\u201eContent-Type\u201c =&gt; \u201etext\/html\u201c}, [\u201eNot Found\u201c]] end else @app.call(env) end end end.<\/p>\n<p style=\"text-align: justify;\">Der obige Code wird mit einer Instanz der Rack-Anwendung initialisiert und dann die Steuerung an die Aufrufmethode \u00fcbergeben. In der Aufrufmethode pr\u00fcfen wir, ob der Anforderungspfad mit der automatischen Vervollst\u00e4ndigung \u00fcbereinstimmt. Anschlie\u00dfend \u00fcberpr\u00fcfen wir die Sitzung, finden passende Benutzer und geben einen JSON mit einer 200-Antwort zur\u00fcck.<\/p>\n<p style=\"text-align: justify;\">Wenn die Anfrage nicht mit dem Autocomplete-Anfragepfad \u00fcbereinstimmt, \u00fcbergeben wir die Kontrolle an die andere Rack-Middleware. Bearbeiten Sie Ihre config\/application.rb, um Rails f\u00fcr die \u00dcbernahme der neuen Middleware zu konfigurieren<\/p>\n<p style=\"text-align: justify;\">config.middleware.insert_after ActionDispatch::Session::CookieStore, \u201eAutoCompleter\u201c<\/p>\n<p style=\"text-align: justify;\">Dadurch wird Rails angewiesen, die neue Middleware, die wir erstellt haben, nach der Sitzungs-Middleware einzuf\u00fcgen. F\u00fchren Sie den Befehl erneut aus, um zu sehen, dass die neue Middleware danach hinzugef\u00fcgt wurde<\/p>\n<p style=\"text-align: justify;\">ActionDispatch::Session::CookieStore Rake-Middleware<\/p>\n<p style=\"text-align: justify;\">Starten Sie Ihren Rails-Server und gehen Sie zu localhost:3000\/autocomplete?q=h<\/p>\n<p style=\"text-align: justify;\">Erwartete Antwort [{\u201cid\u201c:2\u201c,name\u201c:\u201cHarry\u201c},{\u201cid\u201c:4\u201c,name\u201c:\u201cHarold\u201c}]<\/p>\n<p style=\"text-align: justify;\">Javascript Wir werden das jquery-ui-Plugin f\u00fcr die automatische Vervollst\u00e4ndigung verwenden. F\u00fcgen Sie jquery-ui in asset\/javascript\/application.js ein<\/p>\n<p style=\"text-align: justify;\">F\u00fcgen Sie JavaScript zu asset\/javascript\/application.js hinzu, um die Autovervollst\u00e4ndigungsanforderung zu stellen<\/p>\n<p style=\"text-align: justify;\">$(function() { $.ui.autocomplete.prototype._renderItem = function (ul, item) { label = item.name.replace(new RegExp(\u201c(?![^&amp;;]+;)(?!&lt; [^&lt;&gt;]*)(\u201c + $.ui.autocomplete.escapeRegex(this.term) + \u201e)(?![^&lt;&gt;]*&gt;)(?![^&amp;;]+;)\u201c, \u201e gi), \u201e<strong>$1<\/strong>\u201e); return $(\u201c<\/p>\n\n<ul style=\"text-align: justify;\">\n \t<li>\u201e) .data(\u201citem.autocomplete\u201c, item) .append(\u201c\u201c + label + \u201e\u201c) .appendTo(ul); };<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">$( \u201e#autocomplete\u201c ).autocomplete({ source: function(req,res){ $.getJSON(\u201c\/autocomplete\u201c, { q : req.term }, res) }, minLength: 1, select: function( event, ui ) { $(\u201c#selected\u201d).append(\u201c Id: \u201d + ui.item.id + \u201d Name: \u201d + ui.item.name + \u201c\u201d); } }); });<\/p>\n<p style=\"text-align: justify;\">Der erste Codeteil patcht die _renderItem-Methode im jQuery-ui-Autovervollst\u00e4ndigungs-Plugin, um das JSON-Format zu verwenden, das wir vom Server senden.<\/p>\n<p style=\"text-align: justify;\">Der zweite Teil ist ziemlich einfach, indem wir den Aufruf zur automatischen Vervollst\u00e4ndigung mit einer HTML-Element-ID im DOM verkn\u00fcpfen.<\/p>\n<p style=\"text-align: justify;\">Beachten Sie, dass wir \u201eq\u201c als Namen des Abfrageparameters anstelle des Standardparameters \u201eterm\u201c verwendet haben.<\/p>\n<p style=\"text-align: justify;\">Rails Controller und View<\/p>\n<p style=\"text-align: justify;\">Generieren Sie ein neues Controller-Ger\u00fcst, generieren Sie einen Controller-Dash-Index<\/p>\n<p style=\"text-align: justify;\">Bearbeiten Sie eine neue Vorlage dash\/index.html.erb<\/p>\n\n<h1 style=\"text-align: justify;\"><span style=\"font-size: medium;\">Todo-App<\/span><\/h1>\n<p style=\"text-align: justify;\">&lt;<\/p>\n<p style=\"text-align: justify;\">p&gt;Automatische Vervollst\u00e4ndigung<\/p>\n<p style=\"text-align: justify;\"><code><span style=\"color: #0000bb;\">&lt;?php\n<\/span><\/code><code><span style=\"color: #007700;\">= <\/span><\/code><code><span style=\"color: #0000bb;\">text_field_tag <\/span><\/code><code><span style=\"color: #007700;\">:<\/span><\/code><code><span style=\"color: #0000bb;\">Benutzer-ID<\/span><\/code><code><span style=\"color: #007700;\">, <\/span><\/code><code><span style=\"color: #0000bb;\">Null<\/span><\/code><code><span style=\"color: #007700;\">, :<\/span><\/code><code><span style=\"color: #0000bb;\">Ausweis <\/span><\/code><code><span style=\"color: #007700;\">=&gt; <\/span><\/code><code><span style=\"color: #dd0000;\">\u201eAutovervollst\u00e4ndigung\u201c <\/span><\/code><code><span style=\"color: #007700;\">-\n<\/span><\/code><code><span style=\"color: #0000bb;\">?&gt;<\/span><\/code><\/p>\n<p style=\"text-align: justify;\">Starten Sie den Server und gehen Sie zu <a href=\"http:\/\/localhost:3000\/dash\">http:\/\/localhost:3000\/dash<\/a><\/p>\n<a href=\"\/de\/kontaktiere-uns\/\">Nehmen Sie Kontakt mit uns auf.<\/a>\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-670da464 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"670da464\" 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-14dcfbdc\" data-id=\"14dcfbdc\" 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-1ee25b68 elementor-widget elementor-widget-heading\" data-id=\"1ee25b68\" 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-168e791d elementor-widget elementor-widget-shortcode\" data-id=\"168e791d\" 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=\"d7f7626ab9\">\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>In today&#8217;s modern web applications auto completion\/ auto suggestions are very common right from a small to very large applications, serving up multiple requests simultaneously with quick response from the server is very important to make the user experience better and enjoyable. Here is where rack middleware comes in the picture. What is Rack Middleware? &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Ruby Regex Match Guide (2026) mit Beispielen<\/span> Weiterlesen \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":32115,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[385],"tags":[540,591,592,389,381,382,383],"class_list":["post-6489","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-management","tag-agile-rails-development","tag-middleware","tag-middleware-in-rails","tag-rails","tag-rails-developers","tag-ruby-on-rails","tag-ruby-on-rails-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Use Rack Middleware in Rails For Auto Completion - RailsCarma Blog<\/title>\n<meta name=\"description\" content=\"A Rack middleware to handle auto completes is great, as it gives you a slight performance boost when compared to handling the request in a Rails controller.\" \/>\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\/management\/wie-man-rack-middleware-in-schienen-fur-die-automatische-vervollstandigung-verwendet\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Use Rack Middleware in Rails For Auto Completion - RailsCarma Blog\" \/>\n<meta property=\"og:description\" content=\"A Rack middleware to handle auto completes is great, as it gives you a slight performance boost when compared to handling the request in a Rails controller.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/de\/blog\/management\/wie-man-rack-middleware-in-schienen-fur-die-automatische-vervollstandigung-verwendet\/\" \/>\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=\"2014-09-05T04:52:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-07T07:24:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/How-To-Use-Rack-Middleware-In-Rails-For-Auto-Completion.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=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"How To Use Rack Middleware In Rails For Auto Completion?\",\"datePublished\":\"2014-09-05T04:52:31+00:00\",\"dateModified\":\"2021-06-07T07:24:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/\"},\"wordCount\":683,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/How-To-Use-Rack-Middleware-In-Rails-For-Auto-Completion.jpg\",\"keywords\":[\"agile rails development\",\"Middleware\",\"Middleware In Rails\",\"rails\",\"rails developers\",\"Ruby on rails\",\"ruby on rails development\"],\"articleSection\":[\"Articles on Management\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/\",\"name\":\"How to Use Rack Middleware in Rails For Auto Completion - RailsCarma Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/How-To-Use-Rack-Middleware-In-Rails-For-Auto-Completion.jpg\",\"datePublished\":\"2014-09-05T04:52:31+00:00\",\"dateModified\":\"2021-06-07T07:24:29+00:00\",\"description\":\"A Rack middleware to handle auto completes is great, as it gives you a slight performance boost when compared to handling the request in a Rails controller.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/How-To-Use-Rack-Middleware-In-Rails-For-Auto-Completion.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/How-To-Use-Rack-Middleware-In-Rails-For-Auto-Completion.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How To Use Rack Middleware In Rails For Auto Completion?\"}]},{\"@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":"So verwenden Sie Rack-Middleware in Rails f\u00fcr die automatische Vervollst\u00e4ndigung \u2013 RailsCarma Blog","description":"Eine Rack-Middleware zur Verarbeitung automatischer Vervollst\u00e4ndigungen ist gro\u00dfartig, da sie im Vergleich zur Verarbeitung der Anforderung in einem Rails-Controller eine leichte Leistungssteigerung bietet.","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\/management\/wie-man-rack-middleware-in-schienen-fur-die-automatische-vervollstandigung-verwendet\/","og_locale":"de_DE","og_type":"article","og_title":"How to Use Rack Middleware in Rails For Auto Completion - RailsCarma Blog","og_description":"A Rack middleware to handle auto completes is great, as it gives you a slight performance boost when compared to handling the request in a Rails controller.","og_url":"https:\/\/www.railscarma.com\/de\/blog\/management\/wie-man-rack-middleware-in-schienen-fur-die-automatische-vervollstandigung-verwendet\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2014-09-05T04:52:31+00:00","article_modified_time":"2021-06-07T07:24:29+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/How-To-Use-Rack-Middleware-In-Rails-For-Auto-Completion.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":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"How To Use Rack Middleware In Rails For Auto Completion?","datePublished":"2014-09-05T04:52:31+00:00","dateModified":"2021-06-07T07:24:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/"},"wordCount":683,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/How-To-Use-Rack-Middleware-In-Rails-For-Auto-Completion.jpg","keywords":["agile rails development","Middleware","Middleware In Rails","rails","rails developers","Ruby on rails","ruby on rails development"],"articleSection":["Articles on Management"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/","url":"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/","name":"So verwenden Sie Rack-Middleware in Rails f\u00fcr die automatische Vervollst\u00e4ndigung \u2013 RailsCarma Blog","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/How-To-Use-Rack-Middleware-In-Rails-For-Auto-Completion.jpg","datePublished":"2014-09-05T04:52:31+00:00","dateModified":"2021-06-07T07:24:29+00:00","description":"Eine Rack-Middleware zur Verarbeitung automatischer Vervollst\u00e4ndigungen ist gro\u00dfartig, da sie im Vergleich zur Verarbeitung der Anforderung in einem Rails-Controller eine leichte Leistungssteigerung bietet.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/How-To-Use-Rack-Middleware-In-Rails-For-Auto-Completion.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/How-To-Use-Rack-Middleware-In-Rails-For-Auto-Completion.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/management\/how-to-use-rack-middleware-in-rails-for-auto-completion\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"How To Use Rack Middleware In Rails For Auto Completion?"}]},{"@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\/6489","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=6489"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/posts\/6489\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/media\/32115"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/media?parent=6489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/categories?post=6489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/tags?post=6489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}