2012-03-03 70 views
0

我已經繼承了幾年前編寫的舊版Rails應用程序,運行於2.x版。我仍然爲了圍繞Rails和ActiveRecord的一些基本概念而苦苦掙扎。如何將動態部分添加到所有視圖的頁腳?

我想在每個頁面的底部添加一個動態活動流,列出某人所做的最新更改。

要獲得活動流,我有一個巨大的厄運SQL查詢。在我的Postgres數據庫我已經把所說的查詢到一個簡單的數據庫視圖(虛擬只讀表,基本上)我可以查詢這樣的:

SELECT * FROM recent_activity LIMIT 4 

什麼是適當的方式在準備使用這個數據頁腳在我的應用程序中的每一頁上?

它是否應該有自己的模型?它自己的控制器?我可以以某種方式自動將它包含在每個頁面上嗎?

回答

0

您將不得不提供一些變量與視圖佈局與此查詢的內容。 一個快速和骯髒的解決方案來頭腦是使用在ApplicationController中的「的before_filter」,即

before_filter :get_footer 

     def get_footer 
     # do your sql query here and save it in an instance variable like @footer 
     end 

這應該設置varieble @footer所需的值,並使其在視圖訪問。

然後,您可以將一行添加到包含@footer的全局應用程序佈局(可能會格式化輸出一點)

相關問題