如何使用整数单选按钮
How to use integer radio buttons
将有效值数量有限的整数属性表示为单选按钮的最简单方法是什么?
如何使用表单助手来实现这一点?我只看到使用字符串值的示例。
类似于:
<% (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 %>
你可以试试
<%= 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 %>
我的方法是在模型中使用枚举。例如,在我的示例中,如果角色是投资者,角色字段将保存为数字 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' %>
将有效值数量有限的整数属性表示为单选按钮的最简单方法是什么?
如何使用表单助手来实现这一点?我只看到使用字符串值的示例。
类似于:
<% (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 %>
你可以试试
<%= 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 %>
我的方法是在模型中使用枚举。例如,在我的示例中,如果角色是投资者,角色字段将保存为数字 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' %>