Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.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 显示哈希的结果(类似于不带括号的映射)_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 显示哈希的结果(类似于不带括号的映射)

Ruby on rails 显示哈希的结果(类似于不带括号的映射),ruby-on-rails,ruby,Ruby On Rails,Ruby,我想格式化查询的结果哈希,如下所示: hash = { key1: 'value1', key2: 'value2' } p hash.map { |key, value| "#{key}: #{value}" }.join(", ") # => "key1: value1, key2: value2" notations=NotationItem.joins:user.select:name,:notation.wheremovie\u id=?,self.id 注意:Not

我想格式化查询的结果哈希,如下所示:

hash = {
  key1: 'value1',
  key2: 'value2'
}

p hash.map { |key, value| "#{key}: #{value}" }.join(", ")
# => "key1: value1, key2: value2"
notations=NotationItem.joins:user.select:name,:notation.wheremovie\u id=?,self.id

注意:NotationItem是用户和电影之间关系中的多对多表

:name来自用户表,:notation来自NotationItem

我可以用

notations.map {|n| "#{n.name}: #{n.notation}"} 但是方括号输出格式对我来说不可用

从那一刻起,我想我可以

notations.each do |key, value| "#{key}: #{value}" end 但我的散列似乎没有按正确的方式构建

对不起,我要求您提供这些基本需求…

您可以使用:


我想你想打印结果。在散列上执行.map将得到一个数组,而不是一个字符串。你可能想要这样的东西:

hash = {
  key1: 'value1',
  key2: 'value2'
}

p hash.map { |key, value| "#{key}: #{value}" }.join(", ")
# => "key1: value1, key2: value2"

可以用do.替换{..}。。如果需要,请结束。

原因?为什么要使用do..end..?对不起,我想说的是方括号输出格式,如[name1:notation1,name2:notation2]@Tabascow现在呢?你可以用join把数组变成字符串。我确实做到了,它解决了这个问题。我确实是以原始格式显示数组,在这种情况下显示括号。使用.join帮助我显示正确的输出。为什么方括号语法对我来说不可用?它有什么问题?我对括号语法没有问题,我的错,我想说方括号输出格式,如[name1:notation1,name2:notation2]好的,然后我可以看到它是由notations.map{n{n.name}:{n.notation}生成的。。不是吗?我的错,我只是简单地显示[]输出的数组原因。join方法帮助我在没有括号的情况下获得了正确的输出thk you不清楚你在问什么。只需向我们显示实际输出和预期输出。这是正确的,听起来好像我忘记了映射的结果是一个数组,我只是跳过了.join方法。非常感谢你的关注