我正在尝试通过查看示例应用程序来更好地学习Rails,并且在查看this line of the source of railscasts.com时,我注意到它是这样做的:
<div class="episodes">
<%= render @episodes %>
</div>
这到底发生了什么?为什么渲染函数没有记录?或者是吗?
答案 0 :(得分:6)
这是一个方便的快捷方式
<%= render :partial => "episode", :collection => @episodes %>
这是另一种做法
<% for episode in @episodes do %>
<%= render :partial => "episode", :locals => { :episode => episode }
<% end %>
它的作用非常明显:)
希望有道理:)
顺便说一下,我真的很难找到这方面的文档。
答案 1 :(得分:2)
这是一个新的捷径:
<%= render @episodes %>
# equivalent to
<%= render :partial => 'episode', :collection => @episodes %>
您还可以使用单个项目执行快捷方式
<%= render 'comment', comment => @comment %>
# equivalent to
<%= render :partial => 'comment', :locals => {:comment => @comment} %>
答案 2 :(得分:2)
这是
的简写 render :partial => "episode", :collection => @episodes
上面的表单记录在render (ActionController::Base)
下的Rails API docs中。除了Rails Guides之外,我没有记录速记表格。