给定模型枚举,如何创建单选按钮组

时间:2016-01-26 02:54:24

标签: ruby-on-rails

我有一个类似的模型:

class User < ActiveRecord::Base
  enum :status [:banned, :registered, :trial, :pending]
end

在我的编辑页面上,我想显示4个单选按钮的列表,并预先选择当前为用户设置的单选按钮。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

<%= form_for @user do |f| %>
   <%= f.collection_radio_buttons :status, User.statuses, :first, :first %>
   <%= f.submit %>
<% end %>

Ref

答案 1 :(得分:1)

当您使用enum时,Rails使用复数属性名称创建一个类方法。该方法返回您已定义的key value pair个字符串以及它们映射到的整数。所以,你可以这样做:

<% User.status.keys.each do |status| %>
  <%= f.radio_button :status, status %>
  <%= f.label status.to_sym %>
<% end %>