簡體   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