Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在RubyonRails应用程序中将数组输出转换为普通字符串_Ruby On Rails_Ruby_Arrays_String - Fatal编程技术网

Ruby on rails 如何在RubyonRails应用程序中将数组输出转换为普通字符串

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?如果您只需要

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

["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参数。