I''m working on a small project in order to learn Rails. I have a model
with a status field, which I want to be ''open'' or
''closed'' (I may add
some other options later). I am storing them in the database all
lowercase (later options might be abbreviated in the DB). To display
things nicely, I want them to appear as ''Open'' or
''Closed'' in the form
dropdown and tables where the status is displayed. Using an array or
hash, I can manage to do one or the other, but I''m not sure how to
accomplish both.
If I use an array:
STATUSES1=[[''Open'',''open''],[''Closed'',''closed'']]
That works directly in a form using "select :status,
Thing::STATUSES1".
But I don''t know how to lookup the capitalized version in the array
given the lowercase status value.
If I use a hash:
STATUSES2={''open''=>''Open'',''closed''=>''Closed''}
It is easy to display the formatted value in pages using:
<%= Thing::STATUSES2[thing.status] %>
I tried to use this hash in the form select, but the value/text is
backwards: it put ''Open'' into the value and
''open'' into the the
displayed text.
So is it better to use an array or hash for my purposes, and how do I
manipulate it to accomplish both tasks?
Thanks!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---