用有限数量的有效值表示整数属性作为单选按钮的最简单方法是什么?
我如何使用formhelper来实现这一目标?我只看到使用字符串值的示例。
答案 0 :(得分:3)
你可以尝试
<%= form_for :model do |f| %>
<% 1.upto(10) do |i| %>
<%= f.radio_button :integer, i %> #integer is the model field
<% end %>
<% end %>
或
<%= form_tag do %>
<% 1.upto(10) do |i| %>
<%= radio_button_tag :name, i %>
<% end %>
<% end %>
答案 1 :(得分:1)
类似的东西:
<% (1..10).each do |value| %>
<%= f.radio_button_tag(:method_name, value) %>
<% end %>
(1..10)
可能作为常量属于模型。什么也使验证更容易:
# in the model
FOOS = (1..10)
validates :foo, inclusion: { in: FOOS }
# in the view
<% Model::FOOS.each do |values| %>
<%= f.radio_button_tag(:foo, value) %>
<% end %>
答案 2 :(得分:0)
我的方法是在模型中使用枚举。例如,在我的示例中,如果角色是投资者,那么角色字段将另存为数字0,如果交易员是角色,则将字段另存为1。
您需要像下面这样在模型.rb文件中声明您的枚举:
enum role: [:investor,:trader]
然后在视图文件中:
<%= f.radio_button :role, :investor , class: 'form-control underlined' %>
<%= label :role_investor, 'I wanna be an investor' %>
<%= f.radio_button :role, :trader , class: 'form-control underlined' %>
<%= label :role_trader, 'I wanna be a trader' %>