Ruby on rails 如何在RubyonRails应用程序中将数组输出转换为普通字符串
我正在实现标签功能,一篇文章可能有一对多标签。我能够以这种格式从db中获取标记值Ruby on rails 如何在RubyonRails应用程序中将数组输出转换为普通字符串,ruby-on-rails,ruby,arrays,string,Ruby On Rails,Ruby,Arrays,String,我正在实现标签功能,一篇文章可能有一对多标签。我能够以这种格式从db中获取标记值 ["social network", "professional"] 我想要这种格式的输出 "social network professional" 我想将数组转换为不带,的字符串。下面是一段代码片段,它将值作为数组从数据库中取出 <%= article.tags.collect(&:name) %> 如何在不使用逗号的情况下将此输出转换为字符串值?您是否查看了pull?如果您只需要
["social network", "professional"]
我想要这种格式的输出
"social network professional"
我想将数组转换为不带,
的字符串。下面是一段代码片段,它将值作为数组从数据库中取出
<%= article.tags.collect(&:name) %>
如何在不使用逗号的情况下将此输出转换为字符串值?您是否查看了
pull
?如果您只需要数据库中的一条记录(在“name”中),那么这非常有用。您可以使用它来执行此操作:
a = article.tags.pluck(:name)
要输出以空格分隔的文章名,请执行以下操作:
a.join(" ")
为了完整性起见,您可以将这些方法(如您在下面的评论中所说)链接如下:
article.tags.pluck(:name).join(" ")
我得到了以下两种解决方案:
<%= article.tags.collect(&:name).join(" ")%>
<%= article.tags.pluck(:name).join(" ") %> - by yossarian.
-尤萨林。
是的,我知道,但区别在于两者的操作级别Pull
在db
级别上运行,在阵列上运行collect
。要看到这一点,请检查两种情况下的tail-f/log/development.log
。使用collect
方法,查询返回所有字段,然后收集所需的字段,使用polck
,仅检索db参数。