f.select with enum in rails 3

时间:2015-06-08 10:51:27

标签: ruby-on-rails-3 enums

我有模特,

class Test < ActiveRecord::Base
  as_enum :test, [:test, :test_1, :test_1_2]
end

我需要使用f.select创建enum下拉列表。但我正面临着使用enum准备下拉列表的问题。

这是我的代码:

<%= f.select :test, options_for_select(Test.tests.keys.to_a), {}, :class => "form-control" %>

但是准备了一个错误的选择框。 enter image description here

http://grab.by/HSM2

有人可以有任何建议吗?

1 个答案:

答案 0 :(得分:2)

使用以下代码。 Titleize函数将所有单词大写,并用空格替换下划线。您可以阅读更多相关信息here

<%= f.select :test, Test.tests.keys.map {|test| [test.to_s.titleize, test]}, {}, :class => "form-control" %>