如何根据嵌套属性获取数组计数?

时间:2012-02-19 20:55:51

标签: ruby-on-rails ruby

我有一个user数组,里面有一个invitations_attributes数组。 invitations_attributes数组中有另一个数组。结构如下:

  

"user"=>{"invitations_attributes"=>{"6"=>{"email"=>""}, "7"=>{"email"=>""}, "0"=>{"email"=>"asdf@gmail.com"}, "1"=>{"email"=>""}, "2"=>{"email"=>""}, "3"=>{"email"=>""}, "4"=>{"email"=>""}, "5"=>{"email"=>""}}}}

我想要做的是获得invitations_attributes的计数,其中email值不为空。因此,在上述情况下,计数将为1。

1 个答案:

答案 0 :(得分:3)

您展示的是嵌套哈希,而不是数组。给出一个user哈希描述:

user["invitation_attributes"].count{ |key, value| value["email"].present? }