{"id":39304,"date":"2025-04-17T09:26:26","date_gmt":"2025-04-17T09:26:26","guid":{"rendered":"https:\/\/www.railscarma.com\/?p=39304"},"modified":"2025-04-17T09:29:16","modified_gmt":"2025-04-17T09:29:16","slug":"how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/es\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/","title":{"rendered":"C\u00f3mo utilizar atributos Enum en modelos Rails para limpiar la l\u00f3gica del c\u00f3digo"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"39304\" class=\"elementor elementor-39304\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-05e91f1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"05e91f1\" 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-395862a\" data-id=\"395862a\" 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-fc187b4 elementor-widget elementor-widget-text-editor\" data-id=\"fc187b4\" 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>Ruby on Rails is renowned for its developer-friendly conventions and tools that streamline web application development. One such feature is <strong>enum attributes<\/strong> in Rails models, which allows developers to represent a fixed set of values for an attribute in a clean, readable, and maintainable way. By using enums, you can replace magic strings, integers, or complex conditionals with expressive, self-documenting code. Lets explore how to effectively use enum attributes in Rails models to achieve cleaner code logic, complete with practical examples, best practices, and advanced techniques.<\/p><h3><strong>What Are Enum Attributes in Rails?<\/strong><\/h3><p>En Rails, un <code>enum<\/code> is a feature that maps a set of symbolic names to integer values stored in the database. Enums are typically used for attributes that have a limited, predefined set of possible values, such as statuses, roles, or categories. Instead of storing strings or raw integers in the database, enums allow you to work with meaningful symbols in your code while storing integers for efficiency.<\/p><p>For example, consider a <code>Usuario<\/code> model with a <code>role<\/code> attribute that can be either <code>admin, editor,<\/code> o <code>viewer<\/code>. Without enums, you might store these as strings or integers and write logic to handle them, leading to verbose and error-prone code. With enums, you can define these roles symbolically and let Rails handle the mapping to integers behind the scenes.<\/p><p>Enums were introduced in Rails 4.1 and have since become a staple for managing categorical data in Rails applications. They promote <strong>cleaner code logic<\/strong> by:<\/p><ul><li>Reducing the need for magic numbers or strings.<\/li><li>Providing a clear, self-documenting interface.<\/li><li>Simplifying queries and conditionals.<\/li><li>Ensuring type safety by restricting values to a predefined set.<\/li><\/ul><h3><strong>Setting Up Enums in a Rails Model<\/strong><\/h3><p>To use enums, you need a model with an attribute backed by an integer column in the database. Let\u2019s walk through the process of setting up and using enums in a Rails application.<\/p><h5><strong>Step 1: Create a Model and Migration<\/strong><\/h5><p>Suppose you\u2019re building a task management application with a Task model that has a <code>status<\/code> attribute. The status can be <code>pending, in_progress,<\/code> o <code>completed<\/code>. First, generate the model and migration:<\/p><pre>bash\nrails generate model Task title:string status:integer<\/pre><p>This creates a migration file that defines a <code>tasks<\/code> table with a <code>t\u00edtulo<\/code> (string) and status (integer) column. Run the migration to apply it:<\/p><pre>bash\nrails db:migrate<\/pre><h5><strong>Step 2: Define the Enum in the Model<\/strong><\/h5><p>In the Task model (<code>app\/models\/task.rb<\/code>), define the status enum as follows:<\/p><pre>ruby\nclass Task &lt; ApplicationRecord\n    enum status: { pending: 0, in_progress: 1, completed: 2 }\nend<\/pre><p>Here\u2019s what this code does:<\/p><ul><li>En <code>enum<\/code> method defines <code>status<\/code> as an enum attribute.<\/li><li>The hash <code>{ pending: 0, in_progress: 1, completed: 2 }<\/code> maps symbolic names (<code>:pending, :in_progress, :completed<\/code>) to integer values (<code>0, 1, 2<\/code>) stored in the database.<\/li><\/ul><h5><strong>Step 3: Using the Enum<\/strong><\/h5><p>With the enum defined, Rails provides several helper methods and behaviors:<\/p><ul><li><strong>Assignment and Reading:<\/strong> You can assign and read the enum using symbols or strings.<\/li><li><code>rub\u00ed<\/code><\/li><\/ul><pre>task = Task.create(title: \"Write article\", status: :pending)\ntask.status # =&gt; \"pending\"\ntask.pending? # =&gt; true<\/pre><ul><li><code>task.in_progress? # =&gt; false<\/code><\/li><li><strong>Query Methods:<\/strong> Rails generates query methods for each enum value.<\/li><li><code>rub\u00ed<\/code><\/li><\/ul><pre>Task.pending # =&gt; Returns all tasks with status \"pending\"<\/pre><ul><li><code>Task.in_progress # =&gt; Returns all tasks with status \"in_progress\"<\/code><\/li><li><strong>Bang Methods:<\/strong> You can update the enum value using bang methods.<\/li><li><code>rub\u00ed<\/code><\/li><\/ul><pre>task.in_progress! # Sets status to \"in_progress\" and saves the record<\/pre><ul><li>task.completed! # Sets status to &#8220;completed&#8221; and saves the record<\/li><li>Scope Support: Enums work seamlessly with Active Record scopes.<\/li><li><code>rub\u00ed<\/code><\/li><li><code>Task.where(status: :completed).count # =&gt; Counts completed tasks<\/code><\/li><\/ul><p>This basic setup demonstrates how enums simplify attribute management. Let\u2019s explore why enums lead to cleaner code logic.<\/p><h3><strong>Why Enums Improve Code Logic<\/strong><\/h3><p>Enums enhance code readability and maintainability in several ways:<\/p><h5><strong>1. Eliminating Magic Numbers and Strings<\/strong><\/h5><p>Without enums, you might store statuses as integers (<code>0, 1, 2<\/code>) or strings (<code>\"pending\", \"in_progress\", \"completed\"<\/code>) in the database. This leads to code like:<\/p><pre>ruby\nif task.status == 1\n    # Do something\nend<\/pre><p>o<\/p><pre>ruby\nif task.status == \"in_progress\"\n    # Do something\nend<\/pre><p>Such code is brittle and unclear. What does <code>1<\/code> mean? What if you mistype &#8220;<code>in_progress<\/code>&#8220;? Enums replace these with expressive symbols:<\/p><pre>ruby\nif task.in_progress?\n    # Do something\nend<\/pre><p>This is self-documenting and reduces errors.<\/p><h5><strong>2. Simplifying Conditionals<\/strong><\/h5><p>Enums make conditionals more readable by providing predicate methods (e.g., <code>pending?, in_progress?<\/code>). Compare:<\/p><pre>ruby\n# Without enums\nif task.status == \"pending\" || task.status == \"in_progress\"\n    # Handle active tasks\nend\n\n# With enums\nif task.pending? || task.in_progress?\n    # Handle active tasks\nend<\/pre><p>The enum version is clearer and less prone to typos.<\/p><h5><strong>3. Enhancing Query Readability<\/strong><\/h5><p>Enum-based queries are more intuitive:<\/p><pre>ruby\n# Without enums\nTask.where(status: 2)\n\n# With enums\nTask.completed<\/pre><p>The enum query reads like natural language and avoids hardcoding integers.<\/p><h5><strong>4. Ensuring Data Integrity<\/strong><\/h5><p>Enums restrict the attribute to a predefined set of values. Attempting to assign an invalid value raises an error:<\/p><pre>ruby\ntask.status = :invalid\n# =&gt; ArgumentError: 'invalid' is not a valid status<\/pre><p>This enforces data consistency at the application level.<\/p><h3><strong>Advanced Enum Usage<\/strong><\/h3><p>Enums are versatile and support advanced use cases. Let\u2019s explore some practical scenarios.<\/p><h4><strong>Customizing Enum Values<\/strong><\/h4><p>By default, enums map symbols to sequential integers starting from <code>0<\/code>. You can customize the integer values if needed:<\/p><pre>ruby\nenum status: { pending: 10, in_progress: 20, completed: 30 }<\/pre><p>This is useful when integrating with external systems that expect specific integer codes.<\/p><h4><strong>Using Enums with Strings (Rails 7+)<\/strong><\/h4><p>Starting with Rails 7, you can store enum values as strings in the database instead of integers. This is helpful when human-readable values are preferred or when integrating with legacy databases. First, ensure the column is a string type:<\/p><pre>bash\nrails generate migration ChangeTaskStatusToString<\/pre><p>In the migration:<\/p><pre>ruby\nclass ChangeTaskStatusToString &lt; ActiveRecord::Migration[7.0]\n    def change\n        change_column :tasks, :status, :string\n    end\nend<\/pre><p>Then, define the enum with <code>_as_string<\/code>:<\/p><pre>ruby\nclass Task &lt; ApplicationRecord\n    enum status: { pending: \"pending\", in_progress: \"in_progress\", completed: \"completed\" }, _as_string: true\nend<\/pre><p>Now, the database stores strings like &#8220;<code>pending<\/code>&#8221; instead of integers.<\/p><h4><strong>Scoping Enums<\/strong><\/h4><p>You can combine enums with scopes for more complex queries. For example, to find all active tasks (pending or in progress):<\/p><pre>ruby\nclass Task &lt; ApplicationRecord\n    enum status: { pending: 0, in_progress: 1, completed: 2 }\n\n    scope :active, -&gt; { where(status: [:pending, :in_progress]) }\nend<\/pre><p>Uso:<\/p><pre>ruby\nTask.active # =&gt; Returns all pending or in-progress tasks<\/pre><h4><strong>Enum Transitions<\/strong><\/h4><p>Enums are often used to model state machines. You can add methods to manage transitions:<\/p><pre>ruby\nclass Task &lt; ApplicationRecord\n    enum status: { pending: 0, in_progress: 1, completed: 2 }\n\n    def start\n        in_progress! if pending?\n    end\n\n    def complete\n        completed! if in_progress?\n   end\nend<\/pre><p>Uso:<\/p><pre>ruby\ntask = Task.create(status: :pending)\ntask.start # Transitions to in_progress\ntask.complete # Transitions to completed<\/pre><p>For more complex state machines, consider gems like <code>state_machines<\/code> o <code>aasm<\/code>, but enums are sufficient for simple cases.<\/p><h4><strong>Multiple Enums in a Model<\/strong><\/h4><p>A model can have multiple enums. For example, a <code>Usuario<\/code> model might have both <code>role<\/code> y <code>status<\/code> enums:<\/p><pre>ruby\nclass User &lt; ApplicationRecord\n    enum role: { admin: 0, editor: 1, viewer: 2 }\n    enum status: { active: 0, inactive: 1 }\nend<\/pre><p>This allows you to manage multiple categorical attributes cleanly:<\/p><pre>ruby\nuser = User.create(role: :admin, status: :active)\nuser.admin? # =&gt; true\nuser.active? # =&gt; true<\/pre><h4><strong>Prefix and Suffix Options<\/strong><\/h4><p>To avoid method name collisions, you can use the <code>_prefix<\/code> o <code>_suffix<\/code> options:<\/p><pre>ruby\nclass Task &lt; ApplicationRecord\n    enum status: { pending: 0, in_progress: 1, completed: 2 }, _prefix: :status\nend<\/pre><p>This generates methods like <code>status_pending?, status_in_progress!<\/code>, etc., which is useful when multiple enums might conflict.<\/p><h3><strong>Best Practices for Using Enums<\/strong><\/h3><p>To maximize the benefits of enums, follow these best practices:<\/p><ul><li><strong>Use Descriptive Names:<\/strong> Choose clear, meaningful names for enum values (e.g., <code>:pending<\/code> en lugar de <code>:p<\/code>).<\/li><li><strong>Document Enums:<\/strong> Add comments or documentation to explain the purpose of each enum value.<\/li><li><strong>Avoid Overusing Enums:<\/strong> Enums are best for attributes with a small, fixed set of values. For dynamic or frequently changing values, consider a separate table or another approach.<\/li><li><strong>Test Enum Behavior:<\/strong> Write tests to verify enum assignments, queries, and transitions.<\/li><li><strong>Handle Invalid Values Gracefully:<\/strong> Ensure your application handles cases where the database might contain invalid enum values (e.g., due to manual updates).<\/li><li><strong>Consider String Enums for Readability:<\/strong> In Rails 7+, string-based enums can improve database readability, especially for non-technical stakeholders.<\/li><li><strong>Use Enums for State Transitions:<\/strong> Enums are ideal for simple state machines, but switch to a state machine library for complex workflows.<\/li><\/ul><h3><strong>Common Pitfalls and How to Avoid Them<\/strong><\/h3><p>While enums are powerful, they have limitations and potential pitfalls:<\/p><ul><li><strong>Database Dependency:<\/strong> Enums rely on the database column type (integer or string). Changing the column type or enum values requires careful migrations.<ul><li><strong>Soluci\u00f3n:<\/strong> Plan enum values upfront and use migrations to update existing data.<\/li><\/ul><\/li><li><strong>No Built-in Validation:<\/strong> Enums don\u2019t automatically validate values before saving.<ul><li><strong>Soluci\u00f3n:<\/strong> Add validations if needed:<\/li><li><code>rub\u00ed<\/code><\/li><li><code>validates :status, inclusion: { in: statuses.keys }<\/code><\/li><\/ul><\/li><li><strong>Method Name Collisions:<\/strong> Enum-generated methods might conflict with other methods or gems.<ul><li><strong>Soluci\u00f3n:<\/strong> Utilice <code>_prefix<\/code> o <code>_suffix<\/code> to namespace methods.<\/li><\/ul><\/li><li><strong>Performance Considerations:<\/strong> While enums are efficient, querying large datasets with complex enum-based scopes can impact performance.<ul><li><strong>Soluci\u00f3n:<\/strong> Index the enum column if it\u2019s frequently queried:<\/li><li><code>rub\u00ed<\/code><\/li><li><code>add_index :tasks, :status<\/code><\/li><\/ul><\/li><li><strong>Legacy Data Issues:<\/strong> If the database contains values not defined in the enum, you may encounter errors.<ul><li><strong>Soluci\u00f3n:<\/strong> Write a migration to clean up or map legacy data to valid enum values.<\/li><\/ul><\/li><\/ul><h3><strong>Real-World Example: Task Management Application<\/strong><\/h3><p>Let\u2019s tie it all together with a complete example. Imagine a task management app where tasks have statuses and priorities. Here\u2019s how you might implement it:<\/p><pre>ruby\n# Migration\nclass CreateTasks &lt; ActiveRecord::Migration[7.0]\n    def change\n        create_table :tasks do |t|\n            t.string :title\n            t.integer :status\n            t.integer :priority\n            t.timestamps\n        end\n        add_index :tasks, :status\n        add_index :tasks, :priority\n    end\nend\n\n# Model\nclass Task &lt; ApplicationRecord\n    enum status: { pending: 0, in_progress: 1, completed: 2 }, _prefix: :status\n    enum priority: { low: 0, medium: 1, high: 2 }, _prefix: :priority\n\n    validates :status, inclusion: { in: statuses.keys }\n    validates :priority, inclusion: { in: priorities.keys }\n\n    scope :active, -&gt; { where(status: [:pending, :in_progress]) }\n    scope :high_priority, -&gt; { where(priority: :high) }\n\n    def start\n        status_in_progress! if status_pending?\n    end\n\n    def complete\n        status_completed! if status_in_progress?\n    end\nend<\/pre><p>Uso:<\/p><pre>ruby\n# Create a task\ntask = Task.create(title: \"Write article\", status: :pending, priority: :high)\n\n# Check status and priority\ntask.status_pending? # =&gt; true\ntask.priority_high? # =&gt; true\n\n# Transition status\ntask.start\ntask.status_in_progress? # =&gt; true\n\n# Query tasks\nTask.active.high_priority # =&gt; Returns high-priority active tasks<\/pre><p>This example demonstrates how enums simplify state management, querying, and validation while keeping the code clean and expressive.<\/p><h2><strong>Conclusi\u00f3n<\/strong><\/h2><p>Enum attributes in Rails models are a powerful tool for managing categorical data. By replacing magic numbers and strings with symbolic names, enums make your code more readable, maintainable, and less error-prone. They simplify queries, conditionals, and state transitions, leading to cleaner code logic. With features like custom values, string-based enums, and prefix\/suffix options, enums are flexible enough to handle a wide range of use cases.<\/p><p>To get the most out of enums, follow best practices, avoid common pitfalls, and test your implementation thoroughly. Whether you\u2019re building a simple task manager or a complex <a href=\"https:\/\/www.railscarma.com\/it\/blog\/enterprise-application-development-overview\/\">enterprise application<\/a>, enums can help you write clearer, more robust code. Start incorporating enums into your Rails models today, and enjoy the benefits of cleaner, more expressive code logic. Streamline your <a href=\"https:\/\/www.railscarma.com\/es\/desarrollo-de-aplicaciones-de-rieles-personalizados\/\">Aplicaciones Rails<\/a> with clean, maintainable logic using <code>enum<\/code> attributes\u2014<a href=\"https:\/\/www.railscarma.com\/es\/\">RielesCarma<\/a> helps you implement best practices for scalable model design.<\/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<\/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=\"Qu\u00e9 es Offliberty Ruby Gem y c\u00f3mo funciona\" href=\"https:\/\/www.railscarma.com\/es\/blog\/what-is-offliberty-ruby-gem-and-how-it-works\/?related_post_from=41304\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Offliberty Ruby Gem\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Qu\u00e9 es Offliberty Ruby Gem y c\u00f3mo funciona\" href=\"https:\/\/www.railscarma.com\/es\/blog\/what-is-offliberty-ruby-gem-and-how-it-works\/?related_post_from=41304\">\r\n        Qu\u00e9 es Offliberty Ruby Gem y c\u00f3mo funciona  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"M\u00e9todo link_to de Rails: La gu\u00eda completa con ejemplos\" href=\"https:\/\/www.railscarma.com\/es\/blog\/rails-metodo-link_to-la-guia-completa-con-ejemplos\/?related_post_from=41296\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png\" class=\"attachment-full size-full wp-post-image\" alt=\"M\u00e9todo link_to de Rails\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"M\u00e9todo link_to de Rails: La gu\u00eda completa con ejemplos\" href=\"https:\/\/www.railscarma.com\/es\/blog\/rails-metodo-link_to-la-guia-completa-con-ejemplos\/?related_post_from=41296\">\r\n        M\u00e9todo link_to de Rails: La gu\u00eda completa con ejemplos  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"C\u00f3mo crear una plataforma SaaS escalable con Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/?related_post_from=41273\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Crear una plataforma SaaS con Ruby on Rails\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"C\u00f3mo crear una plataforma SaaS escalable con Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/?related_post_from=41273\">\r\n        C\u00f3mo crear una plataforma SaaS escalable con Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby Regex Match Guide (2026) con Ejemplos\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ruby-regex-match-guide-with-examples\/?related_post_from=41249\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Ruby Regex Match\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-18x7.png 18w\" 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 Regex Match Guide (2026) con Ejemplos\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ruby-regex-match-guide-with-examples\/?related_post_from=41249\">\r\n        Ruby Regex Match Guide (2026) con Ejemplos  <\/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>Ruby on Rails es famoso por sus convenciones y herramientas f\u00e1ciles de usar para los desarrolladores, que agilizan el desarrollo de aplicaciones web. Una de estas caracter\u00edsticas son los atributos enum en los modelos Rails, que permiten a los desarrolladores representar un conjunto fijo de valores para un atributo de forma limpia, legible y f\u00e1cil de mantener. El uso de enums permite sustituir cadenas m\u00e1gicas, n\u00fameros enteros o ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Ruby Regex Match Guide (2026) con Ejemplos<\/span> Leer m\u00e1s \u00bb<\/a><\/p>","protected":false},"author":5,"featured_media":39354,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1224],"tags":[],"class_list":["post-39304","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"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 Enum Attributes in Rails Models for Cleaner Code<\/title>\n<meta name=\"description\" content=\"Learn how to use Enum attributes in Rails models to simplify logic, reduce conditionals, and write cleaner, more maintainable Rails code.\" \/>\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\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Use Enum Attributes in Rails Models for Cleaner Code\" \/>\n<meta property=\"og:description\" content=\"Learn how to use Enum attributes in Rails models to simplify logic, reduce conditionals, and write cleaner, more maintainable Rails code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/es\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/\" \/>\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=\"2025-04-17T09:26:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-17T09:29:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/04\/How-to-Use-Enum-Attributes-in-Rails-Models-for-Cleaner-Code-Logic.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=\"Nikhil\" \/>\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=\"Nikhil\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/\"},\"author\":{\"name\":\"Nikhil\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c\"},\"headline\":\"How to Use Enum Attributes in Rails Models for Cleaner Code Logic\",\"datePublished\":\"2025-04-17T09:26:26+00:00\",\"dateModified\":\"2025-04-17T09:29:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/\"},\"wordCount\":1350,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/04\/How-to-Use-Enum-Attributes-in-Rails-Models-for-Cleaner-Code-Logic.png\",\"articleSection\":[\"Blogs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/\",\"name\":\"How to Use Enum Attributes in Rails Models for Cleaner Code\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/04\/How-to-Use-Enum-Attributes-in-Rails-Models-for-Cleaner-Code-Logic.png\",\"datePublished\":\"2025-04-17T09:26:26+00:00\",\"dateModified\":\"2025-04-17T09:29:16+00:00\",\"description\":\"Learn how to use Enum attributes in Rails models to simplify logic, reduce conditionals, and write cleaner, more maintainable Rails code.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/04\/How-to-Use-Enum-Attributes-in-Rails-Models-for-Cleaner-Code-Logic.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/04\/How-to-Use-Enum-Attributes-in-Rails-Models-for-Cleaner-Code-Logic.png\",\"width\":800,\"height\":300,\"caption\":\"Enum Rails\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Use Enum Attributes in Rails Models for Cleaner Code Logic\"}]},{\"@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\/1aa0357392b349082303e8222c35c30c\",\"name\":\"Nikhil\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g\",\"caption\":\"Nikhil\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Use Enum Attributes in Rails Models for Cleaner Code","description":"Learn how to use Enum attributes in Rails models to simplify logic, reduce conditionals, and write cleaner, more maintainable Rails code.","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\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/","og_locale":"es_ES","og_type":"article","og_title":"How to Use Enum Attributes in Rails Models for Cleaner Code","og_description":"Learn how to use Enum attributes in Rails models to simplify logic, reduce conditionals, and write cleaner, more maintainable Rails code.","og_url":"https:\/\/www.railscarma.com\/es\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2025-04-17T09:26:26+00:00","article_modified_time":"2025-04-17T09:29:16+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/04\/How-to-Use-Enum-Attributes-in-Rails-Models-for-Cleaner-Code-Logic.png","type":"image\/png"}],"author":"Nikhil","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Escrito por":"Nikhil","Tiempo de lectura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/"},"author":{"name":"Nikhil","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c"},"headline":"How to Use Enum Attributes in Rails Models for Cleaner Code Logic","datePublished":"2025-04-17T09:26:26+00:00","dateModified":"2025-04-17T09:29:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/"},"wordCount":1350,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/04\/How-to-Use-Enum-Attributes-in-Rails-Models-for-Cleaner-Code-Logic.png","articleSection":["Blogs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/","url":"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/","name":"How to Use Enum Attributes in Rails Models for Cleaner Code","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/04\/How-to-Use-Enum-Attributes-in-Rails-Models-for-Cleaner-Code-Logic.png","datePublished":"2025-04-17T09:26:26+00:00","dateModified":"2025-04-17T09:29:16+00:00","description":"Learn how to use Enum attributes in Rails models to simplify logic, reduce conditionals, and write cleaner, more maintainable Rails code.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/04\/How-to-Use-Enum-Attributes-in-Rails-Models-for-Cleaner-Code-Logic.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/04\/How-to-Use-Enum-Attributes-in-Rails-Models-for-Cleaner-Code-Logic.png","width":800,"height":300,"caption":"Enum Rails"},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/how-to-use-enum-attributes-in-rails-models-for-cleaner-code-logic\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"How to Use Enum Attributes in Rails Models for Cleaner Code Logic"}]},{"@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\/1aa0357392b349082303e8222c35c30c","name":"Nikhil","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g","caption":"Nikhil"},"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\/39304","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\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/comments?post=39304"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts\/39304\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media\/39354"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media?parent=39304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/categories?post=39304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/tags?post=39304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}