Ruby on rails RoR从哈希中获取密钥名

Ruby on rails RoR从哈希中获取密钥名,ruby-on-rails,hash,Ruby On Rails,Hash,我对RoR和使用hash是相当陌生的。我试图从散列中获取名称键,以便在页面上打印它们。我一直得到一个未定义的散列方法。我不确定我做错了什么,希望得到一些指导 当我运行此命令时: - position_names = @contest.positions.map(&:name) = position_names 我明白了: undefined method 'name' for {"name"=>"P", num=>"3", "ep"=>["SP", "RP"]}:Ha

我对RoR和使用hash是相当陌生的。我试图从散列中获取名称键,以便在页面上打印它们。我一直得到一个未定义的散列方法。我不确定我做错了什么,希望得到一些指导

当我运行此命令时:

- position_names = @contest.positions.map(&:name)
= position_names
我明白了:

undefined method 'name' for {"name"=>"P", num=>"3", "ep"=>["SP", "RP"]}:Hash

我应该在这里做什么?从散列中获取名称键的最佳方法是什么?

如果@contest.positions返回散列,则可以通过以下方式获取列表:-

@contest.positions.keys
编辑:

尝试这样做:-

 names = []
 names = @contest.positions.map {|array| array["name"]}

这将为您提供所有名称,您可以修改您想要使用的方式。

您只需要一个键数组?如果您查看,您将看到有几个名称键。我想打印name1 name2 name3,而不是您在pastebin上看到的内容。@contest.positions.name返回未定义的方法'name',@contest.positions返回什么?谢谢。那正是我想要的。