2013-01-18 18 views
2

我已經爲我正在開發的一個網站構建了一個管理面板,而且這一切都非常出色。現在需要有一個作爲「儀表板」的前臺頁面。隨着時間的推移,它將顯示代表各種模型和應用程序部分的不同圖形。它還會顯示各種項目的小列表(需要被調用的客戶等)。我有一個儀表板工作,但我只是想知道是否有更好的方式來做它的軌道。我基本上只是有一個儀表盤控制器:這是最「Rails」做儀表板的方式嗎?

class DashboardController < ApplicationController 
    def show 
    @statistics = {} 
    @statistics[:leads] = Lead.this_month.count 
    @statistics[:leads_by_day] = Lead.date_count 
    @statistics[:called_this_month] = Customer.called_this_month.count 
    end 
end 

我不希望使用任何寶石,因爲這將需要配置一噸,它需要以某種方式

+3

我會避免哈希值,它們包含的東西,你可能會想一些明確信息=>使用專用對象和/或演示者 – apneadiving

回答

2

這可能導致到視圖層中的很多代碼和條件,這可能很難測試。

提取所有代碼

你應該提取所有代碼到一個或多個類別。優點是你可以使用許多單線程方法獲得真正乾淨的代碼,並且你可以獨立於軌道測試它們,從而使你快速測試閃電。 Fast Rails Tests by Corey Haines

對於如何做到這一點有不同的意見。

  • 把這些文件放到lib目錄中,並在需要的地方需要它們。
  • 製作主持人

    有一個偉大的 railscast 它(它需要專業版)

+0

謝謝!因此,一個帶主持人的儀表板控制器(我沒有時間查看它們,所以如果我誤解了它們的話,請原諒我)會是正確的方法嗎? – andy

+0

哦和:視圖中沒有任何條件。真的只是騎着''[:leads_by_day]'循環並輸出另外兩個 – andy

+0

是的,處理圖是很麻煩的;)我使用的是一個jQuery插件,但這隻意味着你有一個表,然後是一個單獨的'td'每個數據點 – andy

相關問題