2011-10-28 31 views
9

總新手試圖通過軌道教程lynda.com工作Rails的不是渲染部分在網頁

的代碼是非常短的,準確是對視頻的方式,但我不能讓我的網頁渲染局部。當我在服務器上運行它時,它根本不會渲染該部分,但只是跳過它。沒有錯誤消息。在此先感謝

這是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> 

,這是_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> 

回答

31

您需要=標誌:

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

(你有<% render ....

+2

謝謝!總ruby nuby錯誤。 –

+0

我不敢相信我做到了。再次!但是一旦在這裏,要注意在Rails 4+中,你可以省略partial和locals:'= render'form',f:f'。矮得多。 – zmilojko

+1

爲什麼鐵軌不警告這種錯字... – Hong