Getting Rid of Keine Klasse Fehler in Ruby
-
09-10-2019 - |
Frage
Im Moment habe ich eine Tabelle, die aufgeteilt in vier Spalten als solche ist:
<table id="customers">
<tr>
<th><em class='require'></em><%= Release.columns_hash['version'].human_name -%></th>
<th><em class='require'></em><%= Release.columns_hash['version'].human_name -%></th>
<th><em class='require'></em><%= Release.columns_hash['version'].human_name -%></th>
<th><em class='require'></em><%= Release.columns_hash['version'].human_name -%></th>
</tr>
<% @releases.in_groups_of(4).each do |releasesplit| %>
<tr>
<% releasesplit.each do |release| %>
<td align="center"><%= release.version %></td>
<% end %>
</tr>
<% end %>
Doch das Problem ist, wenn ich einen weiteren Eintrag in die Tabelle, die durch 4 teilbar ist ich den Fehler: undefined method version' for nil:NilClass
Alle Ideen, wie dieses Problem beheben? Danke,
Lösung
Es scheint wie eine Ihrer Veröffentlichungen in @releases
Variable nil
.
Sie können dies tun:
@releases.compact.in_groups_of(4).each do ...
Array#compact
gibt eine Kopie des ursprünglichen Arrays mit nil
Elementen entfernt.
Ich schlage vor, jedoch stark Sie untersuchen, warum einer von denen Null an erster Stelle ist.
Das ist nicht die Frage der Gruppierung, da dies ist, wie funktioniert die Gruppierung:
irb(main):002:0> [1,2,3].each_slice(2) {|group| puts group.inspect}
[1, 2]
[3]
=> nil
(in_groups_of
ist nur ein Alias ??für Active each_slice
)