ruby-on-rails - 如何在 Ruby on Rails 中动态创建复选框列表?
问题描述
我已经通过 SQL 查询(存储在 中)获得了一个名称列表,我可以在我的文件@name
中遍历它们。.html.erb
有没有办法在check_box_tag
每个循环中动态创建一个唯一的 ID?例如,是否可以在每个循环中更新ind[1]以为每个 check_box_tag 提供唯一 ID?
<% @names.each_with_index do |n, index| %>
<% n.each_with_index do |value, ind| %>
<div class="checkbox">
<%= check_box_tag :ind[1], true, @tags %>
<%= label_tag :ind[1], value[1] %>
</div>
<% end %>
<% end %>
最终结果是我希望允许用户选中感兴趣的名称旁边的复选框。例如,如果我的 SQL 查询返回名称 Alice、Bob、John 和 Zach,并且用户选择 Bob 和 John,我想获得一个表示以下内容的数组(因为一系列布尔值 1 和 0 很好) :
{“爱丽丝”=>“假”,“鲍勃”=>“真”,“约翰”=>“真”,“扎克”=>“假”}
我发现了一个类似的问题,但我还没有设法让它为我工作:Ruby on Rails Forms: how to create a CheckBox Table (or List)
解决方案
我设法让它使用以下代码:
<% @names.each_with_index do |n, index| %>
<% n.each do |value| %>
<div class="checkbox">
<%= check_box_tag "name[#{index}]", true, @tags %>
<%= label_tag "name[#{index}]", value[1] %>
</div>
<% end %>
<% end %>
我<%= params.inspect %>
在输出页面上使用来显示结果。以下是选择第二个和第三个选项后的参数:
<ActionController::Parameters {"utf8"=>"✓", "name"=>{"1"=>"true", "2"=>"true"}, "commit"=>"Save", "controller"=>"queries", "action"=>"custom_search"} permitted: false>
推荐阅读
- javascript - JQuery 使用 .offset 向下滚动到 CSS 类 + 额外像素
- flutter - 参数类型'列表
>' 不能分配给参数类型 'List > - php - 如何在模型中从 Laravel / Eloquent 中的数组中转换数据
- postgresql - Postgresql合并两个数据
- javascript - Safari 日期选择器清除值
- node.js - 带有 api 调用的 Nextjs Image 组件失败,但与 img 标签一起工作正常
- python - Google Colab:TypeError:dtype 对象的图像数据无法转换为浮点数
- swift - 初始化模型 - Swift 5
- react-native - 有没有办法在本机反应中将 base64 字符串转换为 blob 文件?
- flutter - 有没有办法为消费者提供类型
从参数?