2011-04-10 114 views
0

例如,我有一個從網站收集數據並返回對象集合的類。這些數據不會存儲在數據庫中,因此它不是模型。這個類被許多控制器使用,所以它不是控制器。在哪裏放置商業邏輯類

我在哪裏可以放置這樣的文件?

回答

2

應該進入lib文件夾!作爲模塊也許!

0

我通常將這些類放在lib目錄中。而不僅僅是要求他們。

+0

你會想要使用require_dependency。否則,您將不得不重新啓動服務器以獲取更改。 – juanpaco 2012-08-08 21:30:07

0

它是一種值對象,並應繼續同爲整個網站,以及您的控制器或其他部件應該使用模型的refernce,類refernce應該在模型和階級它自身可以用值對象放在

1

我會把它們放在應用程序/模型中。然後,您不必處理自動加載路徑或require或require_dependency。

僅僅因爲一個類沒有被持久化到你的數據庫並不意味着它不是你的數據模型的一部分。把它們放在lib中表明它們是某種實用程序類,它與你的應用程序沒有多大關係。

Rails混淆了模型和持久性。我認爲將您的業務邏輯與持久化實體一起使用是可以的,但沒有理由不能在ActiveRecord對象之外擁有模型邏輯。

相關問題