Przekazanie zmiennych

tzn nie wiem czy tak sie da ale mam:

views/posts
_lista_postow.html.erb

[code]<% @posts.each do |post| %>

<%=h post.name %>


<%=h post.title %>


<%=h post.cat.name %>

<% end %>[/code]
i
views/home

[code]

Home#index

Find me in app/views/home/index.html.erb

Hello, Rails!

<%= render :partial => “posts/lista_postow” %>
<%= link_to “My Blog”, posts_path %>[/code]
a jak przekazać zmienne zeby dało się renderować plik z views/posts w views/home/ ?

http://apidock.com/rails/ActionController/Base/render, druga żółta ramka od góry

dzięki, ale i tak mam coś żle, bo mam ten podszablon jw. i w nim jest kod wyciągnięty z index.html.erb. Przy czym w index.html.erb śmiga poprawnie. A przy renderze podszablonu wyskakuje:
You have a nil object when you didn’t expect it!

do podszablonów w kontrolerze też coś musze pisać w takim razie ?

  1. Trzymaj się języka angielskiego w kodzie.
  2. Jeśli do widoku home masz przekazaną zmienną @posts to:
<%= render :partial => "posts/lista_postow", :object => @posts %>

Jeśli nie to w akcji home kontrolera musi być coś w stylu:

@posts = Post.all

Alternatywa:

index:

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

lista_postow:

    <h2><%=h post.name %></h2>
    <p><%=h post.title %></p>
    <p><%=h post.cat.name %></p>

A Zgodnie z konwencją rails:

index:

<%= render :partial => @posts %>

posts/_post.html.erb

    <h2><%=h post.name %></h2>
    <p><%=h post.title %></p>
    <p><%=h post.cat.name %></p>

Dziekuje tak właśnie próbowałem podobnie tylko jakoś mi nie zadziałało, a z Twoją pomocą śmiga.