{"id":16301,"date":"2024-09-16T14:09:35","date_gmt":"2024-09-16T21:09:35","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=16301"},"modified":"2024-09-18T15:31:13","modified_gmt":"2024-09-18T22:31:13","slug":"couchbase-ruby-orm-simplifies-development","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-ruby-orm-simplifies-development\/","title":{"rendered":"Presentaci\u00f3n del nuevo ORM Couchbase Ruby"},"content":{"rendered":"<h2><span style=\"font-weight: 400;\">Gu\u00eda pr\u00e1ctica para aplicaciones Ruby<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Ruby sigue siendo una de las opciones m\u00e1s populares para construir aplicaciones escalables, y Ruby on Rails contin\u00faa siendo uno de los frameworks web m\u00e1s flexibles y robustos disponibles. A pesar de la facilidad con la que los desarrolladores trabajan con Ruby y Ruby on Rails, la gesti\u00f3n de las complejidades de las operaciones de datos puede seguir siendo un reto, especialmente cuando se trata de datos adaptables y flexibles en bases de datos no relacionales como Couchbase. Sin embargo, esto ya no tiene por qu\u00e9 ser un reto, ya que ahora existe el reci\u00e9n lanzado Couchbase Ruby ORM.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Couchbase Ruby ORM es una herramienta dise\u00f1ada para simplificar las interacciones con bases de datos y agilizar tu proceso de desarrollo. La comunidad de c\u00f3digo abierto de Couchbase inici\u00f3 este proyecto gracias al gran trabajo de los desarrolladores de Doctolib, Mapotempo y otros. Ahora, el proyecto ha sido adoptado oficialmente como parte del ecosistema de herramientas para desarrolladores de Couchbase.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En este post, exploraremos c\u00f3mo el ORM puede mejorar tus aplicaciones.<\/span><\/p>\n<p style=\"text-align: center;\"><i><span style=\"font-weight: 400;\">tl;dr Puede encontrar una aplicaci\u00f3n Rails completa utilizando el nuevo ORM Couchbase Ruby en <\/span><\/i><a href=\"https:\/\/github.com\/hummusonrails\/realworld-couchbase-ruby-orm\"><i><span style=\"font-weight: 400;\">GitHub:<\/span><\/i><\/a><\/p>\n<p><a href=\"https:\/\/github.com\/hummusonrails\/realworld-couchbase-ruby-orm\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-16302 size-large aligncenter\" style=\"border: 1px solid black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-1024x825.png\" alt=\"\" width=\"900\" height=\"725\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-1024x825.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-300x242.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-768x619.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-1536x1238.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-2048x1650.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/couchbase-ruby-orm-github-1320x1064.png 1320w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Empecemos.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">El poder de los ORM<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Los mapeadores relacionales de objetos (ORM) son un elemento fundamental en el desarrollo web moderno. Permiten a los desarrolladores interactuar con una base de datos utilizando objetos en lugar de escribir consultas a la base de datos sin procesar. En el caso de las aplicaciones Ruby, eso significa trabajar con los datos como si fueran objetos Ruby. Esta abstracci\u00f3n no s\u00f3lo simplifica la base de c\u00f3digo general, sino que mejora la legibilidad y la facilidad de mantenimiento.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En el contexto de Couchbase, un ORM es particularmente beneficioso porque tiende un puente entre su almacenamiento basado en documentos y la naturaleza orientada a objetos de Ruby. Usando el nuevo Couchbase Ruby ORM, puedes aprovechar muchas de las caracter\u00edsticas de Couchbase mientras mantienes la experiencia familiar de desarrollo en Ruby que todos disfrutamos.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Ventajas de utilizar un ORM Ruby en tus aplicaciones<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Si eres desarrollador de Ruby on Rails, estar\u00e1s familiarizado con las ventajas de utilizar ActiveRecord, el ORM integrado en Rails, para gestionar tus datos. Sin embargo, merece la pena repetir cu\u00e1les son precisamente esas ventajas. Se pueden resumir en cuatro puntos clave:<\/span><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Facilidad de uso<\/strong>: Una vez que puedas definir tus modelos de datos como clases y atributos Ruby, har\u00e1s que tu c\u00f3digo base sea m\u00e1s intuitivo y f\u00e1cil de navegar.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Integridad de los datos<\/strong>: La gesti\u00f3n autom\u00e1tica de las validaciones y restricciones de los datos a nivel de modelo garantiza que los datos se mantengan tal y como usted los concibi\u00f3. No es necesario a\u00f1adir una capa adicional de validaci\u00f3n a los datos, en m\u00e1s middleware del lado del servidor o en el cliente, una vez que los datos se validan directamente en el modelo.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Mayor productividad<\/strong>: Reduzca su c\u00f3digo repetitivo, lo que le permitir\u00e1 centrarse en la l\u00f3gica de negocio en lugar de dejarse llevar por la gesti\u00f3n de bases de datos en su aplicaci\u00f3n.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Coherencia<\/strong>: Estandariza los patrones de acceso a los datos en toda tu aplicaci\u00f3n y, al hacerlo, haz que tu futuro yo y tus colegas sean m\u00e1s felices cuando t\u00fa, o ellos, necesiten volver y refactorizar la aplicaci\u00f3n semanas o meses despu\u00e9s.\u00a0<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">Con el nuevo Couchbase Ruby ORM puedes extender todos esos beneficios a tus datos en Couchbase, proporcionando una integraci\u00f3n perfecta entre tu aplicaci\u00f3n y tus datos flexibles y adaptables. En un contexto de aplicaci\u00f3n Rails, el ORM extiende la funcionalidad de ActiveRecord, permitiendo a los desarrolladores Rails trabajar con datos de Couchbase usando todos sus m\u00e9todos y convenciones familiares.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Un ejemplo pr\u00e1ctico<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Consideremos una plataforma de blogs ficticia. Esta plataforma necesita gestionar perfiles de usuario, comentarios, etiquetas y contenido de forma eficiente. La plataforma gestiona todo tipo de contenido con diferentes tipos de datos, por lo que construir con una base de datos de documentos JSON como Couchbase es el camino a seguir.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00bfC\u00f3mo se ver\u00eda eso en la realidad?<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Definici\u00f3n de modelos con el ORM de Couchbase<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Empecemos con un <\/span><span style=\"font-weight: 400;\"><code>Art\u00edculo<\/code><\/span><span style=\"font-weight: 400;\"> modelo:<\/span><\/p>\n<pre class=\"nums:false lang:ruby decode:true\">clase Art\u00edculo &lt; CouchbaseOrm::Base\r\n  atributo :slug, :cadena\r\n  atributo :title, :cadena\r\n  atributo :description, :cadena\r\n  atributo :body, :cadena\r\n  atributo :tag_list, :cadena\r\n  atributo :fecha_creada, :hora\r\n  atributo :fecha_actualizada, :hora\r\n  atributo :author_id, :cadena\r\n  atributo :favoritos\r\n  atributo :cuenta_favoritos, :entero, por defecto: 0\r\n\r\n  vista :by_id, emit_key: :id\r\n  vista :by_slug, emit_key: :slug\r\n  vista :by_author_id, emit_key: :author_id\r\n  vista :by_article_id, emit_key: :id\r\n\r\n  valida :slug, presencia: true\r\n  valida :t\u00edtulo, presencia: true\r\n  valida :description, presencia: true\r\n  valida :body, presencia: true\r\n  valida :tag_list, presencia: true\r\n  valida :author_id, presencia: true\r\nfin<\/pre>\n<p><span style=\"font-weight: 400;\">Este modelo define un art\u00edculo con varios atributos, aprovechando la capacidad de Couchbase para manejar diversos tipos de datos. Los atributos se definen de forma similar a como lo har\u00edan en cualquier uso de ActiveRecord, lo que facilita su adopci\u00f3n por parte de los desarrolladores de Ruby, y de Rails en particular.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En <\/span><span style=\"font-weight: 400;\"><code>ver<\/code><\/span><span style=\"font-weight: 400;\"> mostradas arriba establecen formas definidas de consultar documentos almacenados en Couchbase. Cada vista es esencialmente un \u00edndice que permite consultar documentos por un atributo espec\u00edfico de forma m\u00e1s eficiente. Por ejemplo, la vista <\/span><span style=\"font-weight: 400;\">ver <code>:by:slug, emit_key :slug<\/code><\/span><span style=\"font-weight: 400;\"> crea una vista que indexa los art\u00edculos por su <\/span><span style=\"font-weight: 400;\"><code>babosa<\/code><\/span><span style=\"font-weight: 400;\"> atributo. Esta vista permite recuperar art\u00edculos en funci\u00f3n de su slug.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Definici\u00f3n de asociaciones con el ORM de Couchbase<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Ahora bien, \u00bfqu\u00e9 ocurre con las asociaciones de datos en la plataforma de blogs? La plataforma de blogs necesita asegurarse de que cada comentario pertenece a un usuario espec\u00edfico y a un art\u00edculo espec\u00edfico. De la misma forma que se puede hacer en un modelo Rails est\u00e1ndar, es como se puede hacer usando el ORM Ruby de Couchbase. He aqu\u00ed c\u00f3mo se puede configurar:<\/span><\/p>\n<pre class=\"nums:false lang:ruby decode:true\">class Comentario &lt; CouchbaseOrm::Base\r\n  belongs_to :usuario\r\n  belongs_to :art\u00edculo\r\nend<\/pre>\n<p><span style=\"font-weight: 400;\">Con esas asociaciones, los comentarios pertenecen tanto a un usuario como a un art\u00edculo. Del mismo modo, tambi\u00e9n puede definir una relaci\u00f3n dependiente en el modelo. Eche un vistazo de nuevo al modelo <\/span><span style=\"font-weight: 400;\"><code>Art\u00edculo<\/code><\/span><span style=\"font-weight: 400;\"> clase para ver esto en acci\u00f3n:<\/span><\/p>\n<pre class=\"nums:false lang:ruby decode:true\">class Art\u00edculo &lt; CouchbaseOrm::Base\r\n  belongs_to :usuario\r\n  has_many :comentarios, dependiente: :destroy\r\nend\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">De la misma manera que hemos demostrado la creaci\u00f3n de atributos en modelos de datos y la definici\u00f3n de asociaciones, el ORM tambi\u00e9n proporciona funciones para realizar consultas, crear consultas SQL++ personalizadas, trabajar con documentos anidados y mucho m\u00e1s. <\/span><a href=\"https:\/\/couchbase-ruby-orm.com\/\"><span style=\"font-weight: 400;\">La documentaci\u00f3n<\/span><\/a><span style=\"font-weight: 400;\"> ofrece una amplia gama de ejemplos de c\u00f3digo para todas las situaciones posibles en las que pueda tener que trabajar.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Conclusi\u00f3n<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">El nuevo ORM Couchbase Ruby aporta una gesti\u00f3n de bases de datos potente y flexible a Ruby, y a las aplicaciones Ruby on Rails. Al abstraer cualquiera de las complejidades del dise\u00f1o orientado a documentos de Couchbase, permite a los desarrolladores crear aplicaciones escalables y mantenibles con facilidad. No importa cu\u00e1l sea la naturaleza de la aplicaci\u00f3n, desde una plataforma de comercio electr\u00f3nico a un sistema de gesti\u00f3n de contenidos para blogs, el ORM de Couchbase ofrece una soluci\u00f3n robusta para integrar Couchbase dentro de tu pila Ruby. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pru\u00e9belo usted mismo y experimente sus beneficios.\u00a0<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"https:\/\/github.com\/hummusonrails\/realworld-couchbase-ruby-orm\">Tutorial de Couchbase Ruby ORM en GitHub<\/a><\/li>\n<li><a href=\"https:\/\/cloud.couchbase.com\">Utiliza gratis Couchbase Capella DBaaS<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>A practical guide for Ruby applications Ruby remains one of the most popular choices for building scalable applications, and Ruby on Rails continues to be one of the most flexible and robust web frameworks available. Notwithstanding the developer ease with [&hellip;]<\/p>","protected":false},"author":85356,"featured_media":16303,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1815,2242,2225,9407,2201],"tags":[],"ppma_author":[9985],"class_list":["post-16301","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-best-practices-and-tutorials","category-connectors","category-cloud","category-ruby","category-tools-sdks"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Introducing the New Couchbase Ruby ORM - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"The Couchbase Ruby ORM simplifies data management for Ruby &amp; Ruby on Rails apps, bridging document-based storage with Ruby&#039;s object-oriented approach.\" \/>\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.couchbase.com\/blog\/es\/couchbase-ruby-orm-simplifies-development\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing the New Couchbase Ruby ORM\" \/>\n<meta property=\"og:description\" content=\"The Couchbase Ruby ORM simplifies data management for Ruby &amp; Ruby on Rails apps, bridging document-based storage with Ruby&#039;s object-oriented approach.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-ruby-orm-simplifies-development\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-16T21:09:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-18T22:31:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ben Greenberg, Senior Developer Evangelist\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ben Greenberg, Senior Developer Evangelist\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\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.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/\"},\"author\":{\"name\":\"Ben Greenberg, Senior Developer Evangelist\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d\"},\"headline\":\"Introducing the New Couchbase Ruby ORM\",\"datePublished\":\"2024-09-16T21:09:35+00:00\",\"dateModified\":\"2024-09-18T22:31:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/\"},\"wordCount\":959,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg\",\"articleSection\":[\"Application Design\",\"Best Practices and Tutorials\",\"Connectors\",\"Couchbase Capella\",\"Ruby\",\"Tools &amp; SDKs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/\",\"name\":\"Introducing the New Couchbase Ruby ORM - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg\",\"datePublished\":\"2024-09-16T21:09:35+00:00\",\"dateModified\":\"2024-09-18T22:31:13+00:00\",\"description\":\"The Couchbase Ruby ORM simplifies data management for Ruby & Ruby on Rails apps, bridging document-based storage with Ruby's object-oriented approach.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing the New Couchbase Ruby ORM\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d\",\"name\":\"Ben Greenberg, Senior Developer Evangelist\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/c9bda12524045d12a5878a2ef3fbe0de\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg\",\"caption\":\"Ben Greenberg, Senior Developer Evangelist\"},\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/bengreenberg\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introducing the New Couchbase Ruby ORM - The Couchbase Blog","description":"Couchbase Ruby ORM simplifica la gesti\u00f3n de datos para aplicaciones Ruby y Ruby on Rails, uniendo el almacenamiento basado en documentos con el enfoque orientado a objetos de Ruby.","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.couchbase.com\/blog\/es\/couchbase-ruby-orm-simplifies-development\/","og_locale":"es_MX","og_type":"article","og_title":"Introducing the New Couchbase Ruby ORM","og_description":"The Couchbase Ruby ORM simplifies data management for Ruby & Ruby on Rails apps, bridging document-based storage with Ruby's object-oriented approach.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-ruby-orm-simplifies-development\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-09-16T21:09:35+00:00","article_modified_time":"2024-09-18T22:31:13+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg","type":"image\/jpeg"}],"author":"Ben Greenberg, Senior Developer Evangelist","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ben Greenberg, Senior Developer Evangelist","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/"},"author":{"name":"Ben Greenberg, Senior Developer Evangelist","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d"},"headline":"Introducing the New Couchbase Ruby ORM","datePublished":"2024-09-16T21:09:35+00:00","dateModified":"2024-09-18T22:31:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/"},"wordCount":959,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg","articleSection":["Application Design","Best Practices and Tutorials","Connectors","Couchbase Capella","Ruby","Tools &amp; SDKs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/","name":"Introducing the New Couchbase Ruby ORM - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg","datePublished":"2024-09-16T21:09:35+00:00","dateModified":"2024-09-18T22:31:13+00:00","description":"Couchbase Ruby ORM simplifica la gesti\u00f3n de datos para aplicaciones Ruby y Ruby on Rails, uniendo el almacenamiento basado en documentos con el enfoque orientado a objetos de Ruby.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/09\/Introducing-the-Ruby-Couchbase-ORM_NEW.jpg","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-ruby-orm-simplifies-development\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing the New Couchbase Ruby ORM"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d","name":"Ben Greenberg, Desarrollador Evangelista Senior","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/c9bda12524045d12a5878a2ef3fbe0de","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","caption":"Ben Greenberg, Senior Developer Evangelist"},"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/bengreenberg\/"}]}},"authors":[{"term_id":9985,"user_id":85356,"is_guest":0,"slug":"bengreenberg","display_name":"Ben Greenberg, Senior Developer Evangelist","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg"},"author_category":"","last_name":"Greenberg, Senior Developer Evangelist","first_name":"Ben","job_title":"Senior Developer Evangelist","user_url":"","description":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/16301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/85356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=16301"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/16301\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/16303"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=16301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=16301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=16301"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=16301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}