我有散列的数组:@grouped_messages
=如何在存在空白散列时迭代散列数组?
[{},
{100=>[#<Message id: 3, content: "Needs more training", from: 100, employee_id: 1>]},
{101=>[#<Message id: 2, content: "Very lazy.", from: 101, employee_id: 2>], 102=>[#<Message id: 1, content: "Fantastic.", from: 102, employee_id: 2>]}]
其中一个散列是空白的。
我如何通过数组迭代,而不会引起以下错误显示的内容:
Error (undefined method `any?' for nil:NilClass)
我曾尝试以下,但我仍然得到错误:
<% if @grouped_messages.any? %>
<% @grouped_messages.each do |sender, messages| %>
<% if messages.any? %>
<% messages.each do |msg| %>
....
<% end %>
<% end %>
<% end %>
<% end %>
创建时,'你应该删除空哈希@ grouped_messages'在你的控制器中 – Stefan
可以使用'next'跳过你不想迭代的东西。 – juanitofatas