2010-04-05 46 views
1

海兰,Rails的布局:2周的cols缓存和content_for

我有了2周的cols,并在每个视图我有一个布局:content_for:main_col和content_for:side_col

在网站的某些部分

, side_col总是一样的,我该如何干这个?部分渲染?我不认为这么好。

然后谈到缓存。该content_for不好缓存...

您对如何实现这一美好ideias?谢谢

+0

您是否有任何特别的理由想这些东西“不好?” – 2010-04-05 03:30:43

+0

,因为我重复了一遍又一遍的代码.. 我有相同的side_col代码5意见... – 2010-04-05 13:03:40

+0

如果你重复完全相同的代码,你可以把它变成一个局部和渲染,没有什么错谐音。尽管如果您有很多偏旁,视图会变得缓慢。 – Bitterzoet 2010-04-09 13:35:40

回答

1

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