2015-08-31 37 views
3

爲了更加面向對象,我發現自己創建了更多的PORO(Plain-old_ruby-objects)。在rails中,這僅僅意味着模型類不會從ActiveRecord::Base,繼承,因此此模型不受數據庫表的支持。在Rails中命名PORO模型的公約?

可以說我有一個有數百個模型的應用程序。如果有一些PORO模型的命名規則會很好,這樣可以快速識別這些PORO模型,而不必打開每個文件並注意它們不會從ActiveRecord::Base繼承。

我找不到這個命名約定。鐵路社區是否存在?如果不是,歡迎提出建議。

+1

我只是把它們放在一個子目錄中。 – Daiku

回答

2

我最終做的是在我的app/models目錄中創建一個子目錄,名爲poros

爲了使負載路徑中可用的poros子目錄中的文件,我不得不進入config/application.rb,並加入這一行:

config.autoload_paths += Dir[Rails.root.join('app', 'models', '{**}')] 

現在我可以訪問這些波羅斯就像我可以用任何的模型。

1

我不知道Rails社區中poro類的任何命名約定,儘管最近有一種趨勢是繼續從ActiveRecord::Base繼承的類相當小。

如果您的課程相當通用,它們應該放在lib目錄中。如果它們特定於您的應用程序,但只需要與其他類進行交互,則可以創建放置在app/services中的服務類。同樣,你可以提取裝飾器,作業和關注點。

無論留下什麼類都可以留在app文件夾中,或放置在子目錄中。