我有一个Attendance
模型,该模型具有两个Boolean
数据库属性(:late
和:absent
),并且它们都有:default => false
。
我正在尝试制作一个只有2个无线电按钮的表格。一个迟到,一个缺席。当然,用户只能选择两者之一。
我尝试了很多变体,但无法实现任何工作。
有人可以伸出手吗?我知道我可以很容易地选择Collection选择,但是无线电按钮将有助于用户体验。另外,由于很多原因,我需要使用DB模式...
感谢一百万!
我不知道有任何会支持所需功能的导轨帮助者。我还质疑可用性,因为如果型号既不迟到,也不意外单击,则用户将无法取消选择单按钮。
。除此之外,我将使用Radio_Button_TAG并提供两个选项,然后在您的控制器中相应地更新参数。这是一个基本示例:
<%= form_tag('/your/path') do %>
<%= radio_button_tag :status, 'late' %>
<%= label_tag :status_late, 'Late' %>
<%= radio_button_tag :status, 'absent' %>
<%= label_tag :status_absent, 'Absent' %>
<%= submit_tag :submit %>
<% end %>
当然,您将拥有您需要的其他任何字段,然后在您的控制器中,例如:
def create
case params[:status]
when 'late'
params[:model_name][:late] = true
when 'absent'
params[:model_name][:absent] = true
end
ModelName.new(params[:model_name])
end
沿着这些行的某些东西应该解决问题。
@options = ["Late", "Absent"]
@selected_options = ""
<% @options.each do |option| %>
<%= radio_button_tag 'attendance_radio', option, option == @selected_option %> <%= label_tag 'name', option %> <br />
<% end %>
将所选收音机存储在attendance_radio
如果您希望表格中的值是实际选择值以外的东西(晚,缺失),则可以用第二个参数弄乱以持有boolean
而不是