Rails radio_buttons 多个选择相同的属性,这可能吗?
Posted
技术标签:
【中文标题】Rails radio_buttons 多个选择相同的属性,这可能吗?【英文标题】:Rails radio_buttons multiple selection for same attribute, is it possible? 【发布时间】:2021-10-04 04:49:54 【问题描述】:我有一个search_form_for
,我需要能够选择多个付款status
es 来进行 Ransack 搜索。
我们已经为该属性提供了一个f.select
下拉框,但我们现在需要能够同时选择多个status
。
表格:
<%= search_form_for @search, url: admin_payments_path, html: class: "form-inline" do |f| %>
<div class="form-group">
<%= f.select :status_eq, payment_status_selector, include_blank: "Payment status..", class: "form-control gray" %>
</div>
<% end %>
我试过了:
<%= f.select :status_eq, payment_status_selector, include_blank: false, multiple: true, as: :radio_buttons %>
给我一个选择框,其中包含允许我选择多个选项的所有选项,但它们不是 radio_buttons
,并且空值 ""
与所选选项一起传递。
<% payment_status_selector.each do |status| %>
<%= radio_button_tag :status_eq, "#status[1]", false, class: 'radio-checkbox' %>
<%= label_tag( "#status[0]") %>
<% end %>
这为每个可能的status
提供了一个radio_button
,但我不能选择多个。
我想不出正确的方法。也许check_boxes
是一个更好的选择/取消选择状态的选择?
【问题讨论】:
在这种情况下,搜索框更好更方便(UX)。 你到底是什么意思?如何从搜索框中选择多个状态? @zswqa 【参考方案1】:是的,使用 check_box 会是更好的选择。
试试,
<% payment_status_selector.each do |status| %>
<%= f.check_box :payment_statuses, multiple: true , status, false %>
<%= label status %>
<% end %>
您可以从参数中期望控制器中的值如下:
搜索: payment_statuses: ["status 1", "status 2"]
确保 payment_status_selector
返回值数组。
希望有所帮助。
参考:https://medium.com/programming-problem-solving-logbook/rails-multiple-checkboxes-e9c4c7fda356
【讨论】:
以上是关于Rails radio_buttons 多个选择相同的属性,这可能吗?的主要内容,如果未能解决你的问题,请参考以下文章
Rails simple_form - 是否可以只显示按钮标签的radio_buttons?