我正在尝试使用'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
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 %>
答案 0 :(得分:0)
如果您使用的是简单形式,那么文档说明您需要做的就是:
<%= simple_form_for @skill do |f| %>
<%= f.input :level %>
<% end %>
如果您正在使用rails-bootstrap-form,那么文档将展示如何将collection_radio_buttons
与Rails的内置枚举功能结合使用,而您不使用它。因此,我认为您需要传递Skill.level.options
调用作为集合值,但:level
方法(method
,value_method
和{{1} } arguments:
text_method