2011-10-28 9 views
9

novato total tratar de trabajar con el tutorial sobre raíles lynda.comCarriles no devolviendo un parcial en la página web

El código es realmente corto y exactamente la forma en que está en el video, pero no puedo conseguir mi página para renderizar el parcial. Cuando lo ejecuto, ejecútelo en el servidor, no representa el parcial en absoluto, solo se salta. No hay mensajes de error Gracias de antemano

esto es 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> 

y esto es _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> 

Respuesta

31

Se necesita el signo =:

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

(tuviste <% render ....)

+2

¡guau gracias! error nuby ruby ​​total. –

+0

No puedo creer que hice esto. ¡De nuevo! Pero una vez aquí, para tener en cuenta que en Rails 4+ puedes omitir parciales y locales: '= render 'form', f: f'. Mucho más corto. – zmilojko

+1

por qué los rieles no advierten este tipo de error tipográfico ... – Hong

Cuestiones relacionadas