2017-05-04 46 views
-1

我是ruby和rails開發新手,有這個問題。如果我關注的範圍創建說最新記錄,它給了我的客戶最新數據範圍應該在控制器或模型?

現在在這種情況下使用範圍的最佳做法是什麼。應該在模型中還是在控制器中?

我閱讀了一些在線文章,它談論了胖模型和瘦身控制器,因爲範圍是做數據庫相關的工作,那麼我猜他們應該在模型中。

任何建議或想法?

回答

1

範圍只能在模型中定義,因此它必須位於模型上。

3

你猜對了。 範圍屬於模型,需要活動的記錄類對象來處理。 範圍只是一個activerecord查詢分成部分,它有助於看起來你的查詢優雅和乾燥。 例如 如果你想獲得用戶確認電子郵件,您可以:

User.where(confirmed: true) 

但隨着你的用戶模型的範圍:

scope :confirmed, -> { where(confirmed: true) } 

,你會簡單地說:

User.confirmed 

更多詳細請參考此回答here

相關問題