Dostaję naprawdę dziwny problem z częściowym przy próbie renderowania kolekcji, próbowałem nawet różnych podejść.Zmienna lokalna jest zawsze zerowa podczas próby renderowania częściowego
Oto mój częściowy kod (do debugowania):
<pre><%= item.inspect -%></pre>
A oto moje próby użycia:
<%= 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 %>
W każdym z tych scenariuszy częściowego tylko wyjściami nil, jednak jeśli Wewnątrz każdej z pętli pojawia się item.inspect
, szczegóły obiektu są wyświetlane zgodnie z oczekiwaniami.
Jedyną rzeczą, która może być problemem, jest to, że skojarzenie items
jest skrótem mapowanym na inną klasę, więc pomyślałem, że automagi Rails 3 może przypisywać je do zmiennej, aby dopasować ją do nazwy klasy, jednak jeśli próbuję i wyprowadzam, otrzymuję "niezdefiniowany błąd zmiennej lokalnej".
Mam nadzieję, że przeoczyłem coś głupiego.
byłem pewien, że miał wśród wszystkich tych odmianach Próbowałem, ale chyba nie, ponieważ wydaje się działać. Nadal wydaje się dziwne (i denerwujące), że nie mogę uzyskać kolekcji do pracy. – DEfusion
Dobrze, jeśli to działa. Dodałem coś, co nadal chciałbym spróbować w odniesieniu do kolekcji. – polarblau
Wow, jeśli nie dodasz części: partial => "item" i użyjesz nowego skrótu Rails 3 tylko nazwy częściowej, która nie działa, ale bycie specyficznym sprawia, że działa. – DEfusion