2008-11-25 30 views
3

在我正在建設的網站的管理部分中,我想組合一個儀表板頁面或'快速查看'類型頁面,其中可以查看幾個不同區域中最近的更改/添加/等。RoR:構建'儀表板'類型頁面的最佳方法?

我在想這樣做的最好方法是使用partials並讓每個partial都包含我需要顯示的數據的標記。

我的問題是,這是最好的方法嗎?如果是這樣,我該如何區分這些部分的邏輯和表達?例如,我如何將邏輯放置在儀表板控制器中,但將演示文稿保留在部分rhtml中?

回答

2

部分是絕對要走的路,尤其是當您可以將任意數據傳入它們以使它們完成任務時。具體回答你的邏輯分離的問題,你可以使用:

<%= render :partial => "name_of_partial", :locals => { :some_var => @data_from_model } %> 

然後,你裏面的部分,你必須獲得通過some_var變量@data_from_model。

1

控制器應負責檢索需要呈現的數據(並且通常隱式地將其傳遞給視圖)。此處不構建HTML。

當然,partials是你找出演示文稿的地方 - 你可以使它成爲一個列表,圖形,Google可視化小部件,一個40點字體的單個數字,無論如何。

<%= render :partial => 'new_users_last7days', ;locals => { :new_user_count => @new_users.size } %> 
+0

我應該指出的是,如果您的範圍數據類似於「過去7天內的新用戶」,那麼應該在模型級別使用命名範圍來處理。 – bradheintz 2008-11-25 17:04:55