2008-12-04 80 views
3

我正在爲rails應用程序「分析」頁面工作。分析頁面並沒有保留自己的任何數據(這是非常原始的),但確實利用了我從數據庫中抓取的指標(通過內置到ActiveRecord中的聚合表達式)。除了收集和顯示指標外,我唯一的其他要求是允許用戶提供日期範圍來過濾數據。到目前爲止,我一直在使用實例變量等來存儲度量信息......隨着度量數量的增長以及管理開始和結束過濾日期的需要,我開始考慮將這些數據放入其中自己的模型。如果我確實將所有「數據」移動到模型中,那麼我應該只使用帶有attr_accessors的普通對象,還是有更適合的基類可用於非持久性數據?我對MVC架構非常熟悉,知道我的控制器正在變得臃腫,但對軌道不熟悉,無法確定在這種情況下如何組織我的數據/邏輯。Rails應用程序中的非持久性數據

任何有識之士將不勝感激!

回答

2

你在這裏在正確的軌道上。許多應用程序在app/models中都有類,它們不能從ActiveRecord :: Base繼承。無論何時你發現自己在控制器動作中管理大量的任意變量,它都是考慮將數據抽象爲非持久模型的好地方。

0

這是一個目前沒有很好記錄的領域,可能是因爲ActiveRecord的東西性感?

我經歷了同樣的過程,發現我的控制器動作變得很不舒服,而且充滿了邏輯,因爲我努力從基於ActiveRecord的模型構造我的派生數據,而這些數據又開始獲取他們沒有的額外責任真的想要或需要。

一旦我得到the same advice you're getting now整件事簡化了輝煌。

相關問題