Quando si tenta di eseguire il rendering di una raccolta, si verifica un problema davvero strano con un parziale. Ho persino provato approcci diversi.Variabile locale sempre nullo quando si tenta di eseguire il rendering parziale
Ecco il mio codice parziale (per il debug):
<pre><%= item.inspect -%></pre>
e qui sono i miei tentativi di usarlo:
<%= render 'item', :collection => @foo.items %>
<%= render 'item', :collection => @foo.items, :as => :item %>
<% @foo.items.each do |item| %>
<%= render 'item', :locals => {:item => item} %>
<%= render 'item', :object => item %>
<% end %>
In ognuno di questi scenari parziale appena uscite pari a zero, se Inserisco uno item.inspect
all'interno di ogni ciclo, i dettagli dell'oggetto vengono visualizzati come previsto.
L'unica cosa che ho pensato potesse essere un problema è che l'associazione items
è un nome breve mappato a una classe diversa, quindi ho pensato che la cosa automagic di Rails 3 potesse assegnarla a una variabile per abbinarla al nome della classe, tuttavia, se provo a generare, ottengo l '"errore di variabile locale non definito".
Spero di trascurare qualcosa di sciocco.
ero abbastanza sicuro che ho avuto fra tutte quelle varianti che ho provato ma non mi immagino come sembra funzionare. Sembra ancora strano (e fastidioso) che non riesca a far funzionare la collezione. – DEfusion
Bene, buona cosa se funziona. Ho aggiunto qualcosa che proverei ancora riguardo alla collezione. – polarblau
Wow se non si include la parte: partial => 'item' e si usa la nuova stenografia di Rails 3 solo del nome parziale che non funziona, ma essendo specifica lo fa funzionare. – DEfusion