从部分调用rails应用程序的主要“收益”
问题描述:
我的问题非常简单。如果答案是显而易见的,我会先问它,然后我会解释我的意思,以防情况不明显。从部分调用rails应用程序的主要“收益”
从部分而不是直接从layout.html.haml文件中调用主'yield'调用是否被认为是可行的?这样做是否会导致任何类型的性能损失。
解释...
我呼吁application.html.haml一个布局文件。
我希望我的主要内容占用整个页面宽度,除非该页面存在边栏。
如果有侧边栏,那么我希望主要内容占用66%的页面宽度,边栏用尽剩余空间。
我在我的布局如下:
#content
- if show_sidebar?
#main
= yield
#sidebar
= yield(:sidebar)
-else
= yield
内容DIV是100%的页面宽度。如果没有侧边栏,那么'收益'结果会进入这个div。如果存在侧边栏,那么主要收益会进入称为#main的div,该页面宽度为66%。
很好,这工作正常。
现在,为了保持我的主视图整洁,我已经重构我的代码一点点,以便它现在看起来是这样的:
#content
- if show_sidebar?
- render :partial => 'main_with_sidebar'
-else
= yield
然后在局部_main_with_sidebar.html.haml
我有这样的:
#main
= yield
#sidebar
= yield(:sidebar)
所以一切都是一样的,除了每当有侧边栏存在的情况下,主要收益率都是从一个部分调用的。
所以我的问题是关于这是否被认为是最佳实践。或者我应该坚持让一个稍微更加复杂的application.html.haml文件并摆脱部分?它似乎没有造成任何问题,但我想知道如果我在做了太多事情之前做错了什么。
是它看起来愚蠢的一些你们,但我是一个设计师,而不是一个开发和这样的事情是新的我....
答
我会简单地创建一个新的布局“带侧边栏的布局”
views/layouts/application.html.haml
views/layouts/sidebar.html.haml
谢谢。这正是我以前的做法,说实话,我认为这就是我将不得不继续这样做的原因。我认为这很容易,因为我正在与其他设计师合作,如果这样做可能会更适合他们。 谢谢。不能相信我花了多长时间仔细考虑过这个问题! – stephenmurdoch 2009-12-17 13:08:34