[英]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.