HY,
我的布局有2个cols,在每个视图中我都有:content_for:main_col和content_for:side_col
在网站的某些部分,side_col总是一样的,我怎么做DRY?局部渲染?我不认为这么好。
然后它来缓存.. content_for不好缓存......
你对如何实现这个有更好的想法吗?谢谢
答案 0 :(得分:1)
你的问题有点模糊,但根据我的理解,如果你不想偏袒,那么你可以直接将side_col的标记放在应用程序布局中而不是命名的yield。然后确保在ApplicationController中设置了该视图中所需的任何变量。如果有不需要side_col的视图,那么你可以在应用程序控制器中设置一个实例变量,比如@include_side_col = true
,然后将side_col包装在if语句中检查该变量。在子控制器中,您可以在before_filter中将@include_side_col设置为false。这是一种方法,但我必须说我更喜欢部分方法,因为它更像是一个rails惯例,它可以防止你的应用程序布局混乱