render collection渲染集合
2016-07-14 14:38
274 查看
渲染集合时使用局部视图特别方便。通过
传入复数形式的集合时,在局部视图中可以使用和局部视图同名的变量引用集合中的成员。在上面的代码中,局部视图是
渲染集合还有个简写形式。假设
Rails 根据集合中各元素的模型名决定使用哪个局部视图。其实,集合中的元素可以来自不同的模型,Rails 会选择正确的局部视图进行渲染。
在上面几段代码中,Rails 会根据集合中各成员所属的模型选择正确的局部视图。
如果集合为空,
3.4.6 本地变量
要在局部视图中自定义本地变量的名字,调用局部视图时可通过
这样修改之后,在局部视图中可以使用本地变量
使用
在局部视图中可以使用本地变量
在局部视图中还可使用计数器变量,变量名是在集合后加上
在使用主局部视图渲染两个实例中间还可使用
3.4.7 间隔模板
Rails 会在两次渲染
3.4.8 集合局部视图的布局
渲染集合时也可使用
使用局部视图渲染集合中的各元素时会套用指定的模板。和局部视图一样,当前渲染的对象以及
:collection选项把集合传给局部视图时,会把集合中每个元素套入局部视图渲染:
_product,在其中可以使用
product引用渲染的实例。
渲染集合还有个简写形式。假设
@products是
product实例集合,在
index.html.erb中可以直接写成下面的形式,得到的结果是一样的:
如果集合为空,
render方法会返回
nil,所以最好提供替代文本。
3.4.6 本地变量
要在局部视图中自定义本地变量的名字,调用局部视图时可通过
:as选项指定:
item访问
@products集合中的实例。
使用
locals: {}选项可以把任意本地变量传入局部视图:
title,其值为
"Products Page"。
在局部视图中还可使用计数器变量,变量名是在集合后加上
_counter。例如,渲染
@products时,在局部视图中可以使用
product_counter表示局部视图渲染了多少次。不过不能和
as: :value一起使用。
在使用主局部视图渲染两个实例中间还可使用
:spacer_template选项指定第二个局部视图。
3.4.7 间隔模板
_product局部视图之间渲染
_product_ruler局部视图(不传入任何数据)。
3.4.8 集合局部视图的布局
渲染集合时也可使用
:layout选项。
object_counter变量也可在布局中使用。
相关文章推荐
- 以SpringMVC框架为中心疯狂扩展-04、添加mybatis依赖
- SQL Server 复制表及数据的两种方法
- AbstractQueuedSynchronizer(九)——ReentrantLock公平和非公平锁
- 剑指Offer—编程题10(二进制中1 的个数)
- Android IPC机制(二)——利用Messenger实现跨进程通信
- 近年来,学习图像去雾不得不看的论文和源代码
- HDU 1162 Eddy's picture(点连通:最小生成树)
- web项目嵌入Jetty运行的两种方式(Jetty插件和自制Jetty服务器)
- JDBC连接数据库详解(Oracle)
- python 学习(四)基础语法
- c# 参数 params ,ref ,out
- 40. 后台模块开发(5)
- Android IPC机制(一)——绑定Service实现本地通信
- 有条件选择AutoCAD实体
- 测试linux下磁盘的读写速率
- GPS 定位精度查看
- Python+lxml解析html
- NodeJS学习系列课程笔记(NodeJs zlib库文件解压缩的相关使用方法)
- Linux C 学习笔记
- Activiti基础教程--04管理流程定义(流程定义部署ZIP/classpath)、查看(获取流程定义图图片)、删除,不能修改