mam ten kod:lepszy sposób napisać @ instances.count> 0
<% if @states.count > 0 %> # @states is an active record collection
po prostu poczuć się jak nie powinno być lepszy sposób to napisać.
szukam czegoś podobnego:
<% if @states.not_empty? %>
Zdaję sobie sprawę, to jest mała zmiana, ale byłoby to mile widziane porządki.
dlaczego 'dowolny?'? 'any?' wykonuje pętlę poprzez kolekcję przeliczalną i zwraca wartość true, jeśli predykat przekazany w bloku zwraca wartość true dla ** dowolnego elementu w kolekcji. OP chce przetestować kolekcję jako całość – iGbanam
Dla 'Tablicy' (lub konkretnie,' Zmiennej'), tak, ale użycie OP przez ERb sugeruje, że może pracuje z kolekcją ActiveRecord. 'ActiveRecord :: Relation' 'any?' Nie wymaga bloku, sprawdza tylko czy kolekcja jest pusta czy nie. (Chociaż, 'wersja Array' nie * wymaga * bloku, albo.) –
Istnieje wersja z blokiem, który zeskanuje listę dla dopasowań, ale jest to opcjonalne. – tadman