两个布尔DB属性的Rails Radio按钮



我有一个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而不是

最新更新