2011-10-28 23 views
9

sumie newbie próbuje działać przez samouczek szyn na Lynda.comSzyny nie renderowania częściowy na stronie

Kod jest bardzo krótka i dokładnie tak, jak to jest na filmie, ale nie mogę dostać moją stronę oddać cząstkę. Kiedy uruchomię, uruchom go na serwerze, nie renderuje częściowego, ale po prostu je pomija. Brak komunikatów o błędach. Dzięki z góry

to edit.html.erb

<%= link_to("<< Back to List", {:action => 'list'}, :class => 'back=link')%> 

<div class="subject edit"> 
    <h2>Edit Subject</h2> 

    <%= form_for(:subject, :url => {:action => 'update', :id=>@subject.id}) do |f| %> 

     <% render :partial => 'form', :locals => {:f => f} %> 

     <div class="form-buttons"> 
      <%= submit_tag("Update Subject")%> 
     </div> 

    <% end %> 
</div> 

a to _form.html.erb

<table summary="Subject form fields"> 
    <tr> 
     <th>Name</th> 
     <td><%= f.text_field(:name) %></td> 
    </tr> 
    <tr> 
     <th>Position</th> 
     <td><%= f.text_field(:position) %></td> 
    </tr> 
    <tr> 
     <th>Visible</th> 
     <td><%= f.text_field(:visible) %></td> 
    </tr> 
</table> 

Odpowiedz

31

Trzeba znak =:

<%= render :partial => 'form', :locals => {:f => f} %> 

(miałeś <% render ....)

+2

wow thanks! błąd totalnej ruby ​​nuby. –

+0

Nie mogę uwierzyć, że to zrobiłem. Jeszcze raz! Ale raz tutaj, aby zauważyć, że w Railsach 4+ można pominąć częściowe i lokalne: '= render 'form', f: f'. O wiele krótszy. – zmilojko

+1

dlaczego szyny nie ostrzegają tego rodzaju literówki ... – Hong

Powiązane problemy