【发布时间】:2026-02-24 14:00:02
【问题描述】:
当我使用 <%= b.category %>输出保存为checkbox(int:text)的数据时,输出 ["A", "B"]并被[]和""包围,如下图。我希望能够单独显示。→A, B
【问题讨论】:
-
b.category是Array,我猜?如果它代表属性列表,那不是一个很好的方法/数据库列名称;理想情况下,复数字段应该有一个复数名称,即b.categories,而不是b.category。 -
无论如何,像您描述的那样显示它的最简单方法是将数组元素加入
String,用逗号分隔:<%= b.category.join(', ') %> -
或者您可能在问如何为每个类别创建一个单独的复选框?在这种情况下,循环遍历它们:
<% b.category.each do |category| %>——这也是为什么为复数属性使用单数方法名称会令人困惑的原因。最好有这样的:<% b.categories.each do |category| %> -
好的,所以它实际上是 JSON(结构化字符串),而不是数组。你需要先调用 JSON.parse 。
标签: ruby-on-rails ruby ruby-on-rails-5