{"id":7419,"date":"2015-12-21T11:16:30","date_gmt":"2015-12-21T11:16:30","guid":{"rendered":"https:\/\/dev.railscarma.com\/unlocking-the-devise-gem\/"},"modified":"2026-01-01T06:58:34","modified_gmt":"2026-01-01T06:58:34","slug":"desbloqueando-la-gema-ideada","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/desbloqueando-la-gema-ideada\/","title":{"rendered":"Unlocking the \u2018Devise\u2019 Gem in Rails 8"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"7419\" class=\"elementor elementor-7419\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2eaaa537 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2eaaa537\" 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-42331bf3\" data-id=\"42331bf3\" 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-7875f56a elementor-widget elementor-widget-text-editor\" data-id=\"7875f56a\" 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><\/p>\n<p>If we have to don our wizarding hat and take out our crystal balls, we would still be harping that Ruby on Rails is going to be hot in 2026 too! 2026 is also going to bring in only 24 hours a day (how we wish, we could stretch the time) and time would still spell money for businesspeople. When time is money, anything which can save time is gold! And that\u2019s where Ruby on Rails come in picture. What could take other programming languages months to complete, takes only weeks, sometimes just days for Ruby on Rails. Shaping ideas into applications was never so easy. With Ruby on Rails, agility is the norm and convention over configuration the benchmark. And what make Ruby on Rails more powerful are the bunch of pre-packaged, categorized, reusable codes, named as gems. With gems, Rails is a super power to behold. One of the most popular gems is called as Devise Gems, which is a complete authentication package. Read on to know more about Devise gem.<\/p>\n<h2><b>Introducing Devise for Ruby on Rails 8<\/b><\/h2>\n<p data-start=\"145\" data-end=\"292\">Devise is a widely used authentication library for Ruby on Rails 8 applications, built on top of <strong data-start=\"242\" data-end=\"252\">Warden<\/strong>, a Rack-based authentication framework.<\/p>\n<p data-start=\"294\" data-end=\"514\">Warden manages user sessions by securely validating the identity of authenticated users. It also ensures that unauthenticated users are restricted from accessing protected routes and resources within a Rails application.<\/p>\n<p data-start=\"516\" data-end=\"877\">Since Warden operates strictly at the Rack level, it does not provide Rails-specific features such as controllers, views, helpers, or configuration generators required for a complete authentication system. Devise bridges this gap by adding these Rails integrations, making it easier to implement a robust and production-ready authentication solution in Rails 8.<\/p>\n<p data-start=\"879\" data-end=\"1210\">A major advantage of Devise is its modular architecture. It includes around ten authentication modules that allow you to customize how authentication behaves in your application. You can enable only the modules you need\u2014such as Registerable, Omniauthable, Trackable, and others\u2014keeping your authentication setup clean and flexible.<\/p>\n<p>\u00a0<\/p>\n<p data-start=\"1212\" data-end=\"1328\">With this understanding, we can now begin building our Tasks application and set up Devise in a Rails 8 environment.<\/p>\n<p><\/p>\n<p><\/p>\n<h2><strong>\u00bfQu\u00e9 es la gema &#039;Dise\u00f1ar&#039;?<\/strong><\/h2>\n<p><\/p>\n<p><\/p>\n<ol class=\"wp-block-list\">\n<li>Devise es una soluci\u00f3n de autenticaci\u00f3n potente y flexible para Rails.<\/li>\n<li>Est\u00e1 completamente basado en la estructura MVC.<\/li>\n<li>Permite tener m\u00faltiples modelos registrados al mismo tiempo.<\/li>\n<\/ol>\n<p><\/p>\n<p><\/p>\n<h2><strong>Diferentes m\u00f3dulos de dise\u00f1o<\/strong><\/h2>\n<p><\/p>\n<p><\/p>\n<p>Devise se compone de 10 m\u00f3dulos importantes.<\/p>\n<p><\/p>\n<p><\/p>\n<ol class=\"wp-block-list\">\n<li>Base de datos autenticable: cifra y almacena contrase\u00f1as en la base de datos para que se pueda realizar la validaci\u00f3n de la autenticidad de un usuario en el momento de iniciar sesi\u00f3n. La autenticaci\u00f3n se puede realizar tanto a trav\u00e9s de solicitudes POST como de autenticaci\u00f3n b\u00e1sica HTTP.<\/li>\n<li>Omniautable: Agregar\u00a0<a href=\"https:\/\/rubygems.org\/gems\/omniauth\" target=\"_blank\" rel=\"noopener\">OmniAuth<\/a>\u00a0soporte, es decir, es posible configurar un inicio de sesi\u00f3n con OmniAuth.<\/li>\n<li>Confirmable: env\u00eda correos electr\u00f3nicos con instrucciones de confirmaci\u00f3n y verifica si una cuenta ya est\u00e1 confirmada durante el inicio de sesi\u00f3n.<\/li>\n<li>Recuperable: Restablece la contrase\u00f1a del usuario y env\u00eda instrucciones de restablecimiento.<\/li>\n<li>Registrable: maneja el proceso de registro al registrar a los usuarios y tambi\u00e9n les permite editar y destruir su cuenta.<\/li>\n<li>Recordable: como sugiere el nombre, ayuda a administrar, generar y borrar un token para recordar al usuario a trav\u00e9s de las cookies guardadas.<\/li>\n<li>Rastreable: rastrea el recuento de inicios de sesi\u00f3n, las marcas de tiempo y la direcci\u00f3n IP.<\/li>\n<li><a href=\"https:\/\/www.rubydoc.info\/github\/plataformatec\/devise\/Devise\/Models\/Timeoutable\" target=\"_blank\" rel=\"noopener\">Tiempo de espera<\/a>: caduca las sesiones que no han estado activas en un per\u00edodo de tiempo espec\u00edfico.<\/li>\n<li>Validable: Proporciona validaciones de correo electr\u00f3nico y contrase\u00f1a. Es opcional y se puede personalizar, por lo que puede definir sus propias validaciones.<\/li>\n<li>Bloqueable: ayuda a bloquear una cuenta despu\u00e9s de una cantidad espec\u00edfica de intentos fallidos de inicio de sesi\u00f3n. La cuenta se puede desbloquear por correo electr\u00f3nico o despu\u00e9s de un per\u00edodo de tiempo espec\u00edfico.<\/li>\n<\/ol>\n<p><\/p>\n<p><\/p>\n<h2><strong>Instalar Devise, crear modelo, ver y configurar<\/strong><\/h2>\n<p><\/p>\n<p><\/p>\n<ol class=\"wp-block-list\">\n<li>Crea tu aplicaci\u00f3n Rails<\/li>\n<li>Agregue la gema &#039;idear&#039; a su Gemfile.<\/li>\n<li>Ejecute la instalaci\u00f3n del paquete en su l\u00ednea de comando.<\/li>\n<li>Ejecute Rails Genere Devise:install en su l\u00ednea de comando.<\/li>\n<li>Execute rails generate devise &lt;Model Name&gt; in your command line to create model<\/li>\n<\/ol>\n<div>\n<div><b>Run the following command:<\/b><\/div>\n<div>\u00a0<\/div>\n<pre>rails generate devise User<\/pre>\n<div>After running this command, a user.rb model will be generated in the app\/models directory.<\/div>\n<div>\u00a0<\/div>\n<pre>class User &lt; ApplicationRecord\n  # Include default Devise modules.\n  # Other available modules are:\n  # :confirmable, :lockable, :timeoutable, and :omniauthable<br \/>\u00a0 devise :database_authenticatable,<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0:registerable,<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0:recoverable,<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0:rememberable,<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0:trackable,<br \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0:validatable<br \/>fin<\/pre>\n<\/div>\n<ol>\n<li>Si lo desea, puede modificar su archivo de migraci\u00f3n para el usuario. Luego ejecuta rake db:migrate<\/li>\n<li>Ejecute Rails y genere devise:views en su l\u00ednea de comando para crear vistas<\/li>\n<li>debe configurar las opciones de URL predeterminadas para el correo de Devise en cada entorno. Ex- configuraci\u00f3n para config\/environments\/development.rb: config.action_mailer.default_url_options = { host: &#039;localhost&#039;, puerto: 3000 }<\/li>\n<\/ol>\n<p><\/p>\n<p><\/p>\n<p>Puede personalizar modelos, controladores y vistas seg\u00fan los requisitos. Siga los documentos de github para obtener m\u00e1s detalles.<\/p>\n<p><\/p>\n<p><\/p>\n<h2><strong>Algunos filtros y ayudas del controlador<\/strong><\/h2>\n<p><\/p>\n<p><\/p>\n<ul class=\"wp-block-list\">\n<li>Para configurar un controlador con autenticaci\u00f3n de usuario before_action :authenticate_user!<\/li>\n<li>Para verificar si un usuario ha iniciado sesi\u00f3n o no =&gt; user_signed_in?<\/li>\n<li>Para el usuario que ha iniciado sesi\u00f3n actualmente =&gt; usuario_actual<\/li>\n<li>acceder a la sesi\u00f3n para este alcance: =&gt; user_session<\/li>\n<li>Tambi\u00e9n puede anular after_sign_in_path_for y after_sign_out_path_for para personalizar sus rutas de redireccionamiento.<\/li>\n<\/ul>\n<p><\/p>\n<p><\/p>\n<p>Puede integrar la gema &#039;activeadmin&#039; y la gema &#039;devise_invitable&#039; con dispositivos.<\/p>\n<p><\/p>\n<p><\/p>\n<p>Cuando se trata de ahorrar tiempo, nada supera a Ruby on Rails. Si tiene una idea y le gustar\u00eda implementarla, la mejor opci\u00f3n para usted ser\u00eda optar por Ruby on Rails. RailsCarma ha estado implementando Ruby on Rails desde sus etapas iniciales para el desarrollo, la capacitaci\u00f3n, la implementaci\u00f3n y la contribuci\u00f3n a la comunidad Rails y brinda los mejores servicios de desarrollo de Ruby on Rails. RailsCarma proporciona servicios Ruby on Rails de extremo a extremo que incluyen consultor\u00eda, arquitectura, construcci\u00f3n, gesti\u00f3n y extensi\u00f3n a empresas de todo el mundo. T\u00fa tambi\u00e9n puedes <a href=\"https:\/\/www.railscarma.com\/es\/contratar-desarrollador-de-ruby-on-rails\/\" target=\"_blank\" rel=\"noreferrer noopener\">contratar desarrolladores de Ruby on Rails<\/a> con un proceso f\u00e1cil de contratar. <a href=\"\/es\/contactenos\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cont\u00e1ctenos<\/a> para saber mas.<\/p>\n<p><\/p>\n<p><\/p>\n<h3><b>Leer sobre m\u00e1s gemas:<\/b><\/h3>\n<p><\/p>\n<p><\/p>\n<ul class=\"wp-block-list\">\n<li><a href=\"\/es\/blog\/articulos-tecnicos\/crea-magia-visual-con-bootstrap-gem\/\">Crea magia visual con Bootstrap Gem<\/a><\/li>\n<li><a href=\"\/es\/blog\/articulos-tecnicos\/como-instalar-y-usar-ruby-prof-gem\/\" target=\"_blank\" rel=\"noreferrer noopener\">C\u00f3mo instalar y utilizar Ruby-Prof Gem<\/a><\/li>\n<li><a href=\"\/es\/blog\/articulos-tecnicos\/temas-de-tendencia-usando-twitter-gem\/\" target=\"_blank\" rel=\"noreferrer noopener\">Temas de actualidad que utilizan Twitter Gem<\/a><\/li>\n<li><a href=\"\/es\/blog\/articulos-tecnicos\/gema-de-trabajo-retrasado-para-csv\/\" target=\"_blank\" rel=\"noreferrer noopener\">Gema de trabajo retrasado para CSV<\/a><\/li>\n<\/ul>\n<p><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-314693a4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"314693a4\" 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-63122718\" data-id=\"63122718\" 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-25b1ff56 elementor-widget elementor-widget-heading\" data-id=\"25b1ff56\" 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\">Suscr\u00edbete para recibir las \u00faltimas actualizaciones<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1eb4448d elementor-widget elementor-widget-shortcode\" data-id=\"1eb4448d\" 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=\"cargador\"><\/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=\"Direcci\u00f3n de correo electr\u00f3nico\">\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=\"Nombre\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Suscribir\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"es\"\/><\/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\">Art\u00edculos Relacionados<\/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=\"Gema Kaminari\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/gema-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=\"gema 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=\"Gema Kaminari\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/gema-kaminari\/?related_post_from=37277\">\r\n        Gema Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"\u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/por-que-contratar-desarrolladores-de-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=\"por qu\u00e9 contratar desarrolladores de 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=\"\u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/por-que-contratar-desarrolladores-de-ruby-on-rails\/?related_post_from=30627\">\r\n        \u00bfPor qu\u00e9 contratar desarrolladores 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=\"Extracci\u00f3n de datos en rieles mediante procesamiento CSV\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/raspado-de-datos-en-rieles-mediante-el-procesamiento-de-csv\/?related_post_from=31591\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-768x288.png 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=\"Extracci\u00f3n de datos en rieles mediante procesamiento CSV\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/raspado-de-datos-en-rieles-mediante-el-procesamiento-de-csv\/?related_post_from=31591\">\r\n        Extracci\u00f3n de datos en rieles mediante procesamiento CSV  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Realice llamadas de voz a trav\u00e9s de aplicaciones web Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/realizar-llamadas-de-voz-a-traves-de-aplicaciones-web-ruby-on-rails\/?related_post_from=31309\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-768x288.png 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=\"Realice llamadas de voz a trav\u00e9s de aplicaciones web Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/realizar-llamadas-de-voz-a-traves-de-aplicaciones-web-ruby-on-rails\/?related_post_from=31309\">\r\n        Realice llamadas de voz a trav\u00e9s de aplicaciones web 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>If we have to don our wizarding hat and take out our crystal balls, we would still be harping that Ruby on Rails is going to be hot in 2026 too! 2026 is also going to bring in only 24 hours a day (how we wish, we could stretch the time) and time would still &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/es\/blog\/third-party-api-integration-solutions-in-ruby-on-rails\/\"> <span class=\"screen-reader-text\">Soluciones de integraci\u00f3n de API de terceros en Ruby on Rails<\/span> Leer m\u00e1s \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":31974,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[651,407,652,382,653],"class_list":["post-7419","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-devise-gem","tag-ruby","tag-ruby-gems","tag-ruby-on-rails","tag-ruby-on-rails-gems"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Unlocking the Devise Gem in Ruby on Rails 8 - RailsCarma<\/title>\n<meta name=\"description\" content=\"Unlocking the Devise Gem in Ruby on Rails: Learn how Devise simplifies authentication with secure, flexible modules for modern Rails apps.\" \/>\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\/es\/blog\/articulos-tecnicos\/desbloqueando-la-gema-ideada\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Unlocking the Devise Gem in Ruby on Rails 8 - RailsCarma\" \/>\n<meta property=\"og:description\" content=\"Unlocking the Devise Gem in Ruby on Rails: Learn how Devise simplifies authentication with secure, flexible modules for modern Rails apps.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/desbloqueando-la-gema-ideada\/\" \/>\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=\"2015-12-21T11:16:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-01T06:58:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/12\/unlocking.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"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=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\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\/unlocking-the-devise-gem\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Unlocking the \u2018Devise\u2019 Gem in Rails 8\",\"datePublished\":\"2015-12-21T11:16:30+00:00\",\"dateModified\":\"2026-01-01T06:58:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/\"},\"wordCount\":951,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/12\/unlocking.png\",\"keywords\":[\"devise gem\",\"ruby\",\"ruby gems\",\"Ruby on rails\",\"ruby on rails gems\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/\",\"name\":\"Unlocking the Devise Gem in Ruby on Rails 8 - RailsCarma\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/12\/unlocking.png\",\"datePublished\":\"2015-12-21T11:16:30+00:00\",\"dateModified\":\"2026-01-01T06:58:34+00:00\",\"description\":\"Unlocking the Devise Gem in Ruby on Rails: Learn how Devise simplifies authentication with secure, flexible modules for modern Rails apps.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/12\/unlocking.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/12\/unlocking.png\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Unlocking the \u2018Devise\u2019 Gem in Rails 8\"}]},{\"@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\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\":\"es\",\"@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":"Unlocking the Devise Gem in Ruby on Rails 8 - RailsCarma","description":"Unlocking the Devise Gem in Ruby on Rails: Learn how Devise simplifies authentication with secure, flexible modules for modern Rails apps.","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\/es\/blog\/articulos-tecnicos\/desbloqueando-la-gema-ideada\/","og_locale":"es_ES","og_type":"article","og_title":"Unlocking the Devise Gem in Ruby on Rails 8 - RailsCarma","og_description":"Unlocking the Devise Gem in Ruby on Rails: Learn how Devise simplifies authentication with secure, flexible modules for modern Rails apps.","og_url":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/desbloqueando-la-gema-ideada\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2015-12-21T11:16:30+00:00","article_modified_time":"2026-01-01T06:58:34+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/12\/unlocking.png","type":"image\/png"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Escrito por":"admin","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Unlocking the \u2018Devise\u2019 Gem in Rails 8","datePublished":"2015-12-21T11:16:30+00:00","dateModified":"2026-01-01T06:58:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/"},"wordCount":951,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/12\/unlocking.png","keywords":["devise gem","ruby","ruby gems","Ruby on rails","ruby on rails gems"],"articleSection":["Technical Articles"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/","name":"Unlocking the Devise Gem in Ruby on Rails 8 - RailsCarma","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/12\/unlocking.png","datePublished":"2015-12-21T11:16:30+00:00","dateModified":"2026-01-01T06:58:34+00:00","description":"Unlocking the Devise Gem in Ruby on Rails: Learn how Devise simplifies authentication with secure, flexible modules for modern Rails apps.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/12\/unlocking.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/12\/unlocking.png","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/unlocking-the-devise-gem\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Unlocking the \u2018Devise\u2019 Gem in Rails 8"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Empresa de desarrollo Ruby on Rails especializada en desarrollo offshore","description":"RailsCarma es una empresa de desarrollo de Ruby on Rails en Bangalore. Nos especializamos en el desarrollo offshore de Ruby on Rails con sede en EE. UU. e India. Contrate desarrolladores experimentados de Ruby on Rails para disfrutar de la mejor experiencia web.","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":"es"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RielesCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@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":"administraci\u00f3n","image":{"@type":"ImageObject","inLanguage":"es","@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\/es\/wp-json\/wp\/v2\/posts\/7419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/comments?post=7419"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts\/7419\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media\/31974"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media?parent=7419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/categories?post=7419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/tags?post=7419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}