“渲染@collection”有什么作用?

我试着通过查看示例应用程序来更好地学习Rails,并且在查看railscasts.com源代码的这一行时 ,我注意到它是这样做的:

到底发生了什么? 为什么渲染函数没有记录? 或者是吗?

这是简写

render :partial => "episode", :collection => @episodes

上面的表单记录在render (ActionController::Base)下的Rails API文档中 。 除了在Rails指南中 ,我没有记录速记forms。

这是一个方便的快捷方式

 <%= 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} %>