Rails布局:2个cols缓存和content_for

时间:2010-04-05 03:27:45

标签: ruby-on-rails layout

HY,

我的布局有2个cols,在每个视图中我都有:content_for:main_col和content_for:side_col

在网站的某些部分,side_col总是一样的,我怎么做DRY?局部渲染?我不认为这么好。

然后它来缓存.. content_for不好缓存......

你对如何实现这个有更好的想法吗?谢谢

1 个答案:

答案 0 :(得分:1)

你的问题有点模糊,但根据我的理解,如果你不想偏袒,那么你可以直接将side_col的标记放在应用程序布局中而不是命名的yield。然后确保在ApplicationController中设置了该视图中所需的任何变量。如果有不需要side_col的视图,那么你可以在应用程序控制器中设置一个实例变量,比如@include_side_col = true,然后将side_col包装在if语句中检查该变量。在子控制器中,您可以在before_filter中将@include_side_col设置为false。这是一种方法,但我必须说我更喜欢部分方法,因为它更像是一个rails惯例,它可以防止你的应用程序布局混乱