我在Devise
中使用Rails 5
并将Enum/roles
(消费者,设计师)添加到User model
。在创建新注册时,我希望用户选择role
,我为每个radio_button
添加了value/role
:
<div id="user_role"
<% User.roles.keys.each do |role| %>
<%= f.radio_button :role, role %>
<%= f.label role.to_sym %>
<% end %>
</div>
它显示了两个角色的labels
,但只显示了最后一个角色的radio_button
。以下是User model
中定义的角色:
enum role: [:consumer, :designer]
关于我在这里做错了什么想法?
答案 0 :(得分:1)
尝试这种方式
<div id="user_role">
<% User.roles.keys.each do |role| %>
<%= f.radio_button :role, role %>
<%= f.label role.to_sym %>
<% end %>
</div>
or
<div id="user_role">
<% User.roles.each do |role| %>
<%= f.radio_button :role, role %>
<%= f.label role[0] %>
<% end %>
</div>
它在我当地的工作正常。我希望它能为你提供帮助。