Dites que j'ai une collection de @dogs, et je veux rendre une partie de la collection dans un endroit et le reste dans un autre. Il est facile de les cracher tous sortir ensemble:rendu: partiel avec un manipulé: collection
render :partial => 'dogs/summary', :collection => @dogs, :as => :dog
Mais est-il possible de manipuler (affiner) votre collection en ligne, ou est-il une meilleure pratique de faire ces définitions dans votre contrôleur et faire quelque chose comme:
%h2 Male Dogs:
render :partial => 'dogs/summary', :collection => @male_dogs, :as => :dog
%h2 Female Dogs:
render :partial => 'dogs/summary', :collection => @female_dogs, :as => :dog
Merci.
C'est parfait. Merci beaucoup! – doctororange
classe Chien; def male ?; genre == "M"; fin; alors vous pouvez faire @ dogs.select (&: male?) :) –
@weppos: C'est un bon ajout pour les implémentations récentes de ruby. Cela fonctionne également pour le cas où named \ _scopes ne le fera pas. – EmFi