views:

101

answers:

1

I have a problem, trying to render partials in ruby on rails with the short notation for resoures. Somehow, RoR displays simply nothing that has to do with the partial, but i get no errors as well. I mean, the resulting HTML looks like the call for the partial simply wouldn't be there. I'm also confused, because i can see in the log, that rails rendered the partial 2 times (that would be ok, i have two test entries in the dev db), but i get no output in the browser. What am i doing wrong? Thanks in advance! This is my code:

app/views/tutorials/_tutorial.html.erb:

<div class="tutorial">

    <h3><%= link_to tutorial.title, tutorial %></h3>
    <span class="person"><%=h tutorial.tutor %></span>
    <span class="time"><%=h german_time(tutorial.starts_at) %></span>
    <span class="location"><%=h tutorial.location %></span>
    <div class="description"><%=h tutorial.description %></div>
    <% if admin? %>
     <%= link_to 'Edit', edit_tutorial_path(tutorial) %> | 
     <%= link_to 'Delete', tutorial, :confirm => 'Are you sure?', :method => :delete %>
    <% end %>

</div> <!-- end .tutorium -->

app/views/tutorials/index.html.erb:

<h2>Tutorials</h2>

<% render :partial => @tutorials %>

<% if admin? %>
 <%= link_to 'New Tutorial', new_tutorial_path %>
<% end %>

console log:

Processing TutorialsController#index (for 127.0.0.1 at 2009-12-07 23:39:00) [GET]
  Tutorial Load (0.6ms)   SELECT * FROM "tutorials" 
Rendering template within layouts/application
Rendering tutorials/index
Rendered tutorials/_tutorial (7.1ms)
Rendered tutorials/_tutorial (3.7ms)
Completed in 22ms (View: 17, DB: 1) | 200 OK [http://localhost/tutorials]
+4  A: 

Try it with an equals:

<%= render :partial => @tutorials %>
MattMcKnight
If you don't specify the <%= it won't concat to the output stream.
jonnii
oh man, such a silly mistake! thanks a ton.
padde