2012-10-27 509 views
0

我在我的應用程序中有一個頁面對象和各種模板對象。網頁有名稱,說明網址等,每個都與模板有關係。模板具有不同數量的內容框以及與其他控制器(如博客,畫廊等)的關係。ROR:嵌套視圖

當我渲染一個頁面時,我可以計算出哪個模板附加到該頁面,以及相關內容是基於哪個。但我不確定渲染嵌套項目的最佳方式。

你是打算以某種方式呈現從另一個視圖內的模板視圖?或者你是否必須完全重寫視圖?在這種情況下,我必須爲每個不同的模板創建一個額外的模板視圖,將它與頁面視圖捆綁在一起,然後只有在正確的時候才包含它。

這對於畫廊和博客會是一樣的嗎?他們都需要與網頁捆綁嗎?還是可以從適當的位置調用它?

我不確定這裏的最佳做法是什麼,並沒有任何運氣使用谷歌搜索它。我懷疑我使用的關鍵詞是不正確的。或者這是不值得記錄的常識。

回答

0

您可以使用共享的部分來渲染視圖。檢查出this guide

在視圖中,您可以根據所需的任何條件渲染部分。

例如:

- if params[:page] == "my_page" 
    = render "shared/my_page" 

當然,你仍然需要建立必要的數據在控制器中。 這個共享邏輯可以放在Application Controller