Render partial

Witam.

Mam standardaowa aplikacje posty w kategoriach.
W show danej kategori chce wyswietlic posty z danej kategorii.
Robie to w ten sposob:
<%= render :partial => ‘post’, :object => @post %>
W _post mam:
<%=h @post.title %>
Mimo to nie wyswietla sie temat tyko dostaje blad:
You have a nil object when you didn’t expect it!
The error occurred while evaluating nil.category
W modelch mam wpisy has_many i belong_to. W routes:
map.resources :posts
map.resources :categories
Poza tym jak w konsoli wpisze:
@c = Category.find 1
To pokazuje sie kategoria o id 1.
A jak wpisze
@c.title to dostaje blaad ze niezdefiniowana metoda title bo title pochodzi z tabeli posty

Jak rozwiazac ten problerm, bo mecze sie juz z nim caly dzien.

Pozdrawiam

Partial musi dostać zmienną lokalną (nie instancyjną), jakiej będzie używał.
W tym przypadku:
<%= render :partial => ‘post’, :locals => {:post => @category.posts[0]} %>
(chociaż pewnie iterujesz po kolekcji… no ale wiesz o co chodzi :slight_smile: )

a wewnątrz samego partiala:
<%=h post.title %>

Co do męczenia się cały dzień: api.rubyonrails.pl -> render -> partials i góra godzinka lektury z eksperymentami :wink:

Rails doc fajniejsze bo notki można dodawać a i lejałt bardziej przejrzysty i wyszukiwanie jest.