Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7994693
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T14:11:57+00:00 2026-06-04T14:11:57+00:00

I need to add status for an object, and need a hint about the

  • 0

I need to add status for an object, and need a hint about the Rails way to do this. Somewhere I’ve seen status was added into the model, but already lost where it was.

By status, I mean something that tracks about the item state. Like {0: :ORDERED, 1: :CHANGED, 2: :SHIPPED, 3: :ARCHIVED} for order in store. Looks like it needs id that stored in DB, constant or symbol that I could use in code instead of integer id, and one or two human readable messages for UI

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-04T14:11:58+00:00Added an answer on June 4, 2026 at 2:11 pm

    There’s a couple simple ways to do this. If the names of the statuses are short, I’d do basically what Samy suggested and store them directly in the model. So, in your migration, you’d do

    add_column :orders, :status, :string
    

    Then, in your model, you can use the status method to retrieve the status. You’ll want to make sure you only store valid statuses, so you the :inclusion validator something like this:

    class Order
      validates :status, inclusion: { in: %w(ordered changed shipped archived) },
                         presence: true
    end
    

    If the statuses are longer, you can do something very much like the above with a short name for each status, then add an additional method to give you the full status message

    class Order
    
      STATUSES = { 'ordered' => 'Order placed',
                   'changed' => 'A change has been made to the order',
                   'shipped' => 'The order has been shipped',
                   'archived' => 'The order has been archived' }
    
      def self.valid_statuses
        STATUSES.keys
      end
    
      validates :status, inclusion: { in: valid_statuses },
                         presence: true
    
      def extended_status
        STATUSES[status]
      end
    end
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to add values received from MySQL into an array (PHP). Here is
I need to add a dependency on a specific version of GDIPlus. This is
I need to add and delete class on an element having multiple classes: This
Ok, i am really in need of finding a way to do this via
I had to add another table into my database and now I need to
I am using this query to get all the data but I also need
I need add a new user group for mediawiki. The new group has more
need to add a 2nd css stylesheet to a page. do i add a
I need to add an invite users functionality to my social networking application so
I need to add CRRedist2008_x86.msi to my deployment project as it is a requirement

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.