首页 > 解决方案 > 用于表现出奇怪行为的表单的集合单选按钮

问题描述

collection_radio_buttons在 Rails 6 中使用表单助手遇到了一些奇怪的行为。我希望下面的代码只有两个标记为“true”和“false”的单选按钮,它们将返回它们各自的布尔值,但由于某种原因,它标记了“true”按钮正确,但“false”按钮标记为“Unpaid false”。我错过了什么?

    <% t_or_f = [true, false] %>

    <div class="pb-3">
        <%= form.label :unpaid, "This was an unpaid position." %>
        <div>
          <%= form.collection_radio_buttons :unpaid, t_or_f, :to_s, :itself %>
        </div>
    </div>

我现在只为每个值使用单独的单选按钮来实现这一点,但是我对上述行为感到好奇。

标签: ruby-on-rails

解决方案


集合中的元素必须是字符串。

只是改变

<% t_or_f = [true, false] %>

经过

<% t_or_f = ['true', 'false'] %>

推荐阅读