title: Rails Enumerated Types or Alternatives
body: <p>I'm just learning ruby on rails and I have a table of user roles (Owner, Admin, and User).  There are going to be places in the code where I need to check the user's role and show different options.  Does anyone know how to do this without resorting to magic numbers or other ugly methods?</p>
  
  <p>In ASP.Net web apps I've worked on I've seen this done through the use of enumerated types:</p>
  
  <pre><code>public enum UserRole { Owner = 1, Admin = 2, User = 3 }
  
  // ...
  
  if (user.Role == UserRole.Admin)
      // Show special admin options
  </code></pre>
  
  <p>Each different role in the database is reflected as an enumerated type with a value set to the ID of that role in the database.  That doesn't seem like a very good solution because it depends on knowledge of database that may change.  Even if it is the proper way to handle something like this, I don't know how to use enumerated types in rails.</p>
  
  <p>I would appreciate any insight into this matter.</p>