2012-12-19 23 views
6

Ho il seguente semplice problema con le guide.: esegue il rendering di una raccolta di modelli utilizzando una vista html specifica

Diciamo che ho un utente modello. In una vista, se faccio:

<%= render User.all %> 

La vista file in vista/user/_user.html.erb sarà chiamato e stampati per ognuno degli utenti.

Come posso modificarlo per utilizzare una vista specifica? Ho bisogno di qualcosa di simile:

<%= render :data=>User.all :template=>"user/_user_2ndview.html"%> 

Qualsiasi aiuto? Grazie in anticipo

+0

Avete davvero una variabile di istanza denominata '@ Utente' o è un errore? –

+0

@Daniel corretto – Mateu

risposta

8

È possibile utilizzare l'opzione collection:

<%= render :collection => User.all, :partial => "users/user2ndview", 
      :as => :user %> 

La vista deve essere posizionato in vista/utenti/_user2ndview

Vedere la Rails guides on rendering collections per maggiori dettagli.

+0

Ho ricevuto l'errore: variabile locale non definita o metodo 'utente 'per # <# : 0xb5da7608> Causa in _user_2ndview.html Io uso <% = user.name%> Come posso dire render per impostare gli utenti a una var chiamata utente? – Mateu

+0

Aggiornato la mia risposta. –

+0

<% = render: collection => User.all,: template => "user/_user_2ndview.html" come: "utente"%> – RakuN

Problemi correlati