我的问题很简单。如果答案很明显,我会先问,然后我会解释我的意思,如果答案不明显。
从一个部分而不是直接从layout.html.haml文件进行主要的“yield”调用是否可以?这样做会导致任何性能损失。
说明…
我有一个名为application.html.haml的布局文件。
我希望我的主要内容占据整个页面的宽度,除非有一个侧边栏为该页面提供。
如果有侧边栏,那么我希望主要内容占据66%的页面宽度,并且侧边栏将占用剩余的空间。
我的布局中有以下内容:
#content
- if show_sidebar?
#main
= yield
#sidebar
= yield(:sidebar)
-else
= yield
Content Div为100%页面宽度。如果没有侧边栏,则“yield”结果将进入此分区。如果有侧边栏,则主yield将进入名为main的分区,即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文件来去掉部分文件吗?这似乎不会造成任何问题,但我想知道在我做得太过火之前我是否做错了什么。
是的,你们有些人可能觉得这很愚蠢,但我是设计师,而不是开发人员,这类事情对我来说是新的……