2009-09-26 90 views
-1

嘿傢伙。我正在創建一個rails應用程序,並且是我第一次使用MVC模式,更不用說rails了,我正在陷入模糊和不確定的境地。我已經定義了一個application.html.erb,它工作得很好,它有一個yield語句,它呈現當前操作的視圖。幫助構建Rails應用程序

我希望application.html.erb包含一些動態內容,例如在側邊欄中。我想知道這個動態內容的代碼應該放在哪裏。在做實驗時,我創建了一個名爲home的控制器,並在那裏定義了邏輯,但我認爲它不應該到那裏。這只是我沒有創建模型,因爲我不需要任何形式的數據庫,並且大多數我看到的示例都使用模型專門與某種形式的持久數據進行交互。在家庭控制器中,我定義了索引操作,當我轉到mysite.com/home/時,它會顯示我想要查看的動態內容,但在佈局的內容部分(yield語句所在的位置)中顯示。

基本上我覺得現在都糾結了,我想知道如何將這個動態內容放在我的application.html.erb佈局的側欄中,以便它始終保留在我的網站中,因爲我的整個站點都使用這個佈局。我正在考慮使用application_controller.rb,但有些事情告訴我,我應該離開這一切。

謝謝,讓我知道是否有任何意義。當我真的很困惑時,很難清楚。

回答

2

application_controller.rb是您的側邊欄內容去的好地方。如果您的內容是真正的應用程序範圍,例如側邊欄導航,那麼它是適合它的地方。

我建議您把HTML的側邊欄在部分或兩個,並填充它在application_controller行動,會爲每一個頁面請求的運行邏輯,類似:

before_filter :populate_sidebar 

def :populate_sidebar 
    @sidebar_content = foo 
end 
+0

我欣賞的快速準確的迴應道格。我在IRC上得到了同樣的迴應,所以我認爲這是正確的做法。 –