“渲染@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} %>