2009-09-18 10 views
2

Si nous voulons passer une collection à partielle, nous faisons comme ceci:Partials et variable locale

<%= render :partial => "post", :collection => @posts %> 

Si nous voulons passer un seul objet dans une variable personnalisée, nous faisons ceci:

<%= render :partial => "item", :locals => { :item => @advertisement } %> 

Maintenant, que dois-je faire pour passer une collection, "en l'envoyant" par le biais d'une variable personnalisée (comme dans le second cas)?

Répondre

3

juste passer à travers les locaux comme dans votre deuxième exemple

<%= render :partial => "item", :locals => { :posts => @posts } %> 
1

Vous pouvez utiliser l'autre façon d'appeler partials:

render(:partial => 'post', :object => @posts) 
+0

Hmm, jamais vu l'argument: membre ... aucun document? – gmile

+0

Mon mauvais, c'est en fait: objet, mais la même chose s'applique. Il se trouve dans la documentation RDoc pour Rails: http://apidock.com/rails/ActionController/Base/render – tadman

1

J'ai trouvé à l'aide: en tant que paramètre beaucoup plus clair:

<%= render :partial => "item", :collection => @rabbits, :as => :item %> 
Questions connexes