4

我正在实现标签功能,一篇文章可能有一对多标签。我能够以这种格式从 db 获取标签值

["social network", "professional"]

我想要这种格式的输出

"social network professional"

我想将数组转换为不带,. 下面是一个代码片段,它从 db 中取出值作为数组。

<%= article.tags.collect(&:name) %>

如何将此输出转换为不带任何逗号的字符串值?

4

3 回答 3

12

你看了pluck吗?如果您只需要数据库中的一条记录(在您的情况下为“名称”),这非常有用。你可以用它来做到这一点:

a = article.tags.pluck(:name)

然后输出以空格分隔的文章名称,请执行以下操作:

a.join(" ")

为了完整起见,您可以像这样链接这些方法(就像您在下面的评论中所说的那样):

article.tags.pluck(:name).join(" ")
于 2013-04-13T12:51:37.393 回答
0

我得到了以下两个解决方案:

<%= article.tags.collect(&:name).join(" ")%>
<%= article.tags.pluck(:name).join(" ") %> - by yossarian.
于 2013-04-13T13:17:04.047 回答
-1

["社交网络", "专业"].join(",")

“社交网络,专业”

或者如果你不想要逗号

["社交网络", "专业"].join(" ")

“社交网络专业人士”

于 2021-07-08T14:38:09.313 回答