我有散列的數組:@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