繁体   English   中英

从局部调用Rails应用的主要“收益”

[英]Calling a rails app's main 'yield' from a partial

我的问题很简单。 如果答案很明显,我将首先询问,然后,如果答案不明显,我将解释我的意思。

是否可以通过部分调用而不是直接从layout.html.haml文件进行主要的“屈服”调用来实现? 这样做会导致任何形式的性能损失。


说明...

我有一个名为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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM