允许rails-bootstrap-form集合接受枚举值

时间:2015-03-31 01:36:37

标签: ruby-on-rails twitter-bootstrap simple-form enumerize

我正在尝试使用'Enumerize' gem将枚举值设置放入rails-bootstrap-form的无线电收集选择字段。

示例说明如何使用ActiveRecord集合执行此操作。我该如何修改示例

<%= f.collection_radio_buttons :skill_level, Skill.all, :id, :name %>

这样它就可以接受在我的模型上设置的枚举

<%= f.collection_radio_buttons :level %>

skill.rb

class Skill < ActiveRecord::Base
  extend Enumerize
  enumerize :level, in: [:good, :ok, :bad ]
end

Enumerize documentation

  

SimpleForm

     

如果您使用的是SimpleForm gem,则无需指定输入类型   (:默认情况下选择)和集合:

<%= simple_form_for @user do |f| %>

  <%= f.input :sex %>

<% end %>
     

如果你想把它作为单选按钮:

<%= simple_form_for @user do |f| %>

  <%= f.input :sex, :as => :radio_buttons %>

 <% end %>

1 个答案:

答案 0 :(得分:0)

如果您使用的是简单形式,那么文档说明您需要做的就是:

<%= simple_form_for @skill do |f| %>

  <%= f.input :level %>

<% end %>

如果您正在使用rails-bootstrap-form,那么文档将展示如何将collection_radio_buttons与Rails的内置枚举功能结合使用,而您不使用它。因此,我认为您需要传递Skill.level.options调用作为集合值,但:level方法(methodvalue_method和{{1} } arguments:

text_method