现在的位置: 首页 > 综合 > 正文

ROR汇集—Layout

2013年04月12日 ⁄ 综合 ⁄ 共 1574字 ⁄ 字号 评论关闭
文章目录

转自:Rails宝典之第七式: layout详解


一般来说layout有如下五种:

1、Gobal Layout

2、Controller Layout

3、Shared Layout

4、Dynamic Layout

5、Action Layout

假设我们有一个views/projects/index.rhtml页面:

下面来看看各种layout的用法。

1,global layout

添加views/layouts/application.rhtml:

在layouts目录下添加application.rhtml即可,<%= yield %>即输出我们的projects/index.rhtml页面
由于我们的controller都继承自ApplicationController,所以application.rhtml会先解析

2,controller layout

添加views/layouts/projects.rhtml:

道理同上,ProjectsController当然会使用同名的projects.rhtml作layout了
注意的是controller layout会覆盖global layout

3,shared layout

添加views/layouts/admin.rhtml:

我们建立了admin layout,然后在需要使用该layout的controller中指定即可:

4,dynamic layout

有时候我们需要根据不同的用户角色来使用不同的layout,比如管理员和一般用户,比如博客换肤(也可以用更高级的theme-generator)

5,action layout

在action中指定layout即可:

上面的index方法指定使用projects layout,当然我们也可以指定不使用layout,如printable页面:

需要注意的是,这5种layout会按顺序后面的覆盖前面的layout

关于erb和capture的文章:http://hideto.javaeye.com/blog/97353

 

抱歉!评论已关闭.