我是Ruby on Rails環境的新手,所以我被困在可能是一個簡單的問題:我正在尋找定義一些相應的文本字符串/標籤到一個數值。這些值將被存儲在數據庫中,然後在我的代碼中使用,而不是數字值。定義和使用對應於數值的文本值數組
在C,我會以這樣的事:
#define Accounting 0
#define Engineering 1
#define Education 2
...要使用這樣的:
if (field_of_study == Accounting) ...
我希望能夠做到這一點Rails中控制器/視圖。我現在必須做這樣的事情在我的視圖來顯示項目:
<tr>
<td><%= link_to user.name, user %></td>
<% if user.studyField == 0 %>
<td>Accounting</td>
<% elsif user.studyField == 1 %>
<td>Engineering</td>
<% elsif user.studyField == 2 %>
<td>Education</td>
<% end %>
</tr>
我也想用文本字符串/標籤,在下拉菜單中的form_for
形式,然後使用數字保存標識符。我需要一個before_save
方法來翻譯這兩個,或者是他們的一個自動的方式嗎?
如果我理解正確的,您可以設置一個Enumerable來做到這一點。 – 4444
我完全理解如何來自C環境,這將是您的方法,但它非常非Ruby。在紅寶石中,你更可能使用像':accounting:engineering:education'這樣的符號。 – Daiku
Robert Reynolds - 答案中的一個對你有幫助嗎?還是你還有其他問題?如果其中一個答案符合您的需求,您能否將其標記爲正確?謝謝。 – Powers