rails view层的具体细节(四)
来源:互联网 发布:hope软件下载 编辑:程序博客网 时间:2024/05/22 02:18
转自:http://ihower.tw/rails3/actionview.html
局部样板Partials
局部样板可以将Template中重复的程式码抽出来,例如我们在Part1中示范过的新增和编辑的表单。Partial Template的命名惯例是底线开头,但是呼叫时不需加上底线,例如:
<%= render :partial => "common/nav" %>
这样便会使用app/views/common/_nav.html.erb这个样板。如果使用Partial的样板和Partial所在的目录相同,可以省略第一段的common路径。
在Partial样板中是可以直接使用实例变数的(也就是@
开头的变数)。不过好的实务作法是透过:locals
明确传递区域变数,这样程式会比较清楚,Partial样板也比较容易被重复使用:
<%= render :partial => "common/nav", :locals => { :a => 1, :b => 2 } %>
这样在partial样板中,就可以存取到区域变数a
和b
。
如果是阵列的资料,一般直觉会这样写:
@items.each do |item| render :partial => "item", :locals => { :item => item }end
但是,partial可以支援处理阵列形式:
render :partial => "item", :collection => @items, :as => :item
这样的好处不只是少打字而已,还有效能上的好处,Rails会针对这种形式做最佳化。
集合型Collection
像是tr
或li
这类会一直重复的Template元素,我们可以使用collection
参数来处理,Rails有针对集合型的Partial做效率最佳化,例如像以下的程式:
<ul> <% @people.each do |person| %> <%= render :partial => "person", :locals => { :person => person } %> <% end %><ul>
可以改使用Collection方式,
<ul> <%= render :partial => "person", :collection => @people %><ul>
如此既可以少掉两行each
程式码,执行的效能又更好。
0 0
- rails view层的具体细节(四)
- rails view层的具体细节(四)
- rails view层的具体细节(一)
- rails view层的具体细节(二)
- rails view层的具体细节(三)
- rails view层的具体细节(五)
- rails view层的具体细节(六)
- rails view层的具体细节(一)
- rails view层的具体细节(二)
- rails view层的具体细节(三)
- rails view层的具体细节(五)
- rails view层的具体细节(六)
- Rails 中 View 层 haml 初步
- 针对Faster RCNN具体细节以及源码的解读之RoIPooling层
- 针对Faster RCNN具体细节以及源码的解读之SmoothL1Loss层
- 多线程编程的具体细节
- main函数的具体细节
- 用PHP开始你的MVC (四)实现View层
- rails view层的具体细节(三)
- Spring开发环境搭建教程
- linux iptables 配置 linux开启允许外网访问的端口
- bootstrap入门
- C语言生成MD5校验码
- rails view层的具体细节(四)
- 关于协方差矩阵的理解
- 基于redhat64位操作系统编写C程序和动态库
- 我
- DrawText英文自动换行的处理方法
- java 日期 工具类
- LeetCode - 4Sum
- Posts Tagged 【String】 Text Justification
- rails view层的具体细节(五)