我想通過看示例應用更好地學習Rails和一邊看着this line of the source of railscasts.com,我注意到它這樣做:「render @collection」是做什麼的?
<div class="episodes">
<%= render @episodes %>
</div>
究竟這是怎麼回事?爲什麼這不記錄在渲染功能上?或者是?
我想通過看示例應用更好地學習Rails和一邊看着this line of the source of railscasts.com,我注意到它這樣做:「render @collection」是做什麼的?
<div class="episodes">
<%= render @episodes %>
</div>
究竟這是怎麼回事?爲什麼這不記錄在渲染功能上?或者是?
快捷鍵這是簡寫
render :partial => "episode", :collection => @episodes
形式上面記錄在Rails API docs下render (ActionController::Base)
。就我所見,除了在Rails Guides之外,簡寫形式沒有記錄。
這是做
<%= render :partial => "episode", :collection => @episodes %>
一個方便的快捷鍵是幹什麼
<% for episode in @episodes do %>
<%= render :partial => "episode", :locals => { :episode => episode }
<% end %>
的另一種方式,這是相當明顯,它做什麼:)
希望是有道理的: )
順便說一句,這真的令人驚訝,我也無法找到這個文檔。
這是一個新的快捷方式:
<%= render @episodes %>
# equivalent to
<%= render :partial => 'episode', :collection => @episodes %>
你也可以做單品
<%= render 'comment', comment => @comment %>
# equivalent to
<%= render :partial => 'comment', :locals => {:comment => @comment} %>
在Ruby on Rails 2.3發行說明6.2中,有一個關於此的簡介http://gides.rubyonrails.org/2_3_release_notes.html#smart-rendering-of-partials – Corey 2010-04-02 16:56:59
謝謝zetetic。感謝Corey,至少有人發現了它。我討厭知道那裏有沒有文件的東西。 – ryeguy 2010-04-02 17:32:16