如何在页面上显示Hash的值
我的用户模型类中有一个哈希
GENDERS = {'1' => 'Male', '2' => 'Female', '3' => 'Secret'}
我为每个用户存储密钥。 因此,当用户阅读他们的信息时,我想显示关于该键的相应值 所以我这样做:
<td><%= User::GENDERS[@user.gender] %></td>
但我看不到任何显示。
如果我执行以下操作,我会看到正确的键显示
<td><%= @user.gender %></td>
那么,以编程方式将哈希值显示在页面上的正确方法是什么?
感谢。
答案 0 :(得分:3)
性别字段是字符串还是整数?如果它是整数,则需要将哈希值更改为:
GENDERS = {1 => 'Male', 2 => 'Female', 3 => 'Secret'}
答案 1 :(得分:1)
请注意,这不是特别好的风格。您应该在User.rb
:
GENDERS = {1 => 'Male', 2 => 'Female', 3 => 'Secret'}
def gender_name
GENDERS[gender]
end
然后在您的视图中调用:
<td><%= @user.gender_name %></td>
这样你就不会在视图中公开你的大部分模型并保持透明。如果需要,它还允许您稍后修改显示,而无需更改视图。
答案 2 :(得分:0)
使用与持续性别相对应的模型访问者