ho questo codice:modo migliore per scrivere @ instances.count> 0
<% if @states.count > 0 %> # @states is an active record collection
mi sento come ci dovrebbe essere un modo migliore per scrivere questo.
Sto cercando qualcosa di simile:
<% if @states.not_empty? %>
Mi rendo conto che è piccolo cambiamento ma sarebbe una pulitura benvenuto.
perché 'qualsiasi?' ActiveRecord? 'any?' scorre in una collezione enumerabile e restituisce true se il predicato passato nel blocco restituisce true per ** qualsiasi ** elemento nella collezione. L'OP vuole testare la collezione nel suo insieme – iGbanam
Per un 'Array' (o in particolare,' Enumerable'), sì, ma l'uso dell'OP di ERb suggerisce che potrebbe funzionare con una raccolta ActiveRecord. 'ActiveRecord :: Relation''s' any? 'Non richiede un blocco, controlla solo se la raccolta è vuota o meno. (Anche se la versione di 'Array' non * richiede * un blocco, sia.) –
Esiste una versione con un blocco che scansionerà l'elenco per le corrispondenze, ma questo è facoltativo. – tadman