Rails获取类型列表(枚举)

时间:2013-09-29 18:03:20

标签: ruby-on-rails enums controller

在我的模型中,我有这部分代码用于声明硬编码类型

TYPES = { administrator: 1, system: 2, station: 3, guest: 4 }

    def type
      TYPES.key(read_attribute(:type_id))
    end

    def type=(s)
      write_attribute(:type_id, TYPES[s])
    end

我需要在视图上显示这4种类型以将其显示为选择框 我怎么能得到它们

像那样的东西

Admin.TYPES.each do |type|
"<option id="<%=????%>"><%=type.text%></option>"
end

2 个答案:

答案 0 :(得分:1)

如果您需要选择标记,则可以使用此标记     <%= select_tag('type_options',options_for_select(TYPES)) %>

HTML帮助程序在rails。

答案 1 :(得分:0)

这样的事情怎么样:

Admin::TYPES.each do |key, value|
  "<option id='#{value}'>#{key}</option>"
end

应该看起来像:

<option id='1'>administrator</option>
<option id='2'>system</option>
<option id='3'>station</option>
<option id='4'>guest</option>