Rails - 将整数显示为文本变量

时间:2014-12-15 15:38:34

标签: ruby-on-rails ruby

我有一个属性为weapon_type的武器类;我正在展示像这样的武器

列出武器

  1. weapon_type:1
  2. weapon_type:1
  3. weapon_type:2
  4. 我该如何更换这些号码?例如,我设置了1 = "dagger",我得到了

    1. weapon_type:dagger
    2. weapon_type:dagger
    3. weapon_type:2

3 个答案:

答案 0 :(得分:0)

WEAPON_TYPES = {
  1 => 'dagger'
}

weapon_type: WEAPON_TYPES[1]

答案 1 :(得分:0)

你可以在模型中创建一个阅读器,它将返回该字段的字符串类型或类型代码:

def weapon_type
   text_types = [ nil, 'dagger' ]
   type = read_attribute(:weapon_type)
   text_types[ type ] || type
end

答案 2 :(得分:0)

如果这是在ActiveRecord中,那么你可以使用enum(自Rails 4.1起);对于较旧的Rails版本,也有同样的宝石。 - Carpetsmoker