【发布时间】:2015-10-05 00:26:52
【问题描述】:
我有一个方法,它假设迭代一个数组并将任何项目匹配到我在我的模型中拥有的字符串。我的方法是这样的
@new_array = @old_array.find_all { |t| t.fetch('name') == "self.object_name" }
此方法应通过我拥有的哈希数组查找并匹配与 object_name 同名的任何项目。当我在控制台中测试与 object_name 的名称比较时,它显示为 true,但是当我运行上述完整方法时,它显示未找到任何对象,但是我知道该数组包含多个具有完全相同名称的对象。知道有什么问题吗?
数组看起来是这样的......
old_array = {"id"=>"123", "account"=>"456", "name"=>"CITY"},
{"id"=>"456", "account"=>"567", "name"=>"CITY DIR DEP"},
{"id"=>"456", "account"=>"567", "name"=>"BUCK"},
{"id"=>"456", "account"=>"567", "name"=>"CITY DIR DEP"},
{"id"=>"456", "account"=>"567", "name"=>"HAPPY"},
{"id"=>"456", "account"=>"567", "name"=>"CIRCLE"}
并且对象在控制台中打印为
self.object_name => "CITY DIR DEP"
【问题讨论】:
-
这是在寻找带有
name或self.object_name的散列,所以如果你有一个散列{"id" => '123', ..., "name" => "self.object_name"},它将被返回
标签: ruby-on-rails arrays ruby ruby-on-rails-4