我有以下三种 render partial 页面的代码,经过测试,只有 1,3 两个办法是正常显示了 partial 页面。是不是说,如果使用 collection 这个 symbole 来设定参数的话,partial 页面必须得与所引用 collection 类名的相同的:比如_collection.html.erb
才能正常引用,而其他的不同名 partial 页只能做一个迭代呢?
(比如第二种在有 collection 作为参数时候会出错:
undefined local variable or method
collection' for #<#Class:0x007fab417a6ae0:0x007fab45115b00>`,而如果显示纯文本,会循环 collections.count 次数个。
后来我还尝试下:locals
参数,貌似它不用管 partial page 的命名规范。
第一种
<%= render :partial=>"collections/collection",:collection=>@user.collections%>
第二种
<%= render :partial=>"layouts/profile",:collection=>@user.collections%>
第三种
<%= render :partial=>"layouts/collection",:collection=>@user.collections%>
partial page
<%= collection.collection_type %>
经指点,第二种方法可如此写
<%= render :partial=>"layouts/profile",:collection=>@user.collections :as=>:collection%>
厉害了。