我是ruby和rails開發新手,有這個問題。如果我關注的範圍創建說最新記錄,它給了我的客戶最新數據範圍應該在控制器或模型?
現在在這種情況下使用範圍的最佳做法是什麼。應該在模型中還是在控制器中?
我閱讀了一些在線文章,它談論了胖模型和瘦身控制器,因爲範圍是做數據庫相關的工作,那麼我猜他們應該在模型中。
任何建議或想法?
我是ruby和rails開發新手,有這個問題。如果我關注的範圍創建說最新記錄,它給了我的客戶最新數據範圍應該在控制器或模型?
現在在這種情況下使用範圍的最佳做法是什麼。應該在模型中還是在控制器中?
我閱讀了一些在線文章,它談論了胖模型和瘦身控制器,因爲範圍是做數據庫相關的工作,那麼我猜他們應該在模型中。
任何建議或想法?
範圍只能在模型中定義,因此它必須位於模型上。
你猜對了。 範圍屬於模型,需要活動的記錄類對象來處理。 範圍只是一個activerecord
查詢分成部分,它有助於看起來你的查詢優雅和乾燥。 例如 如果你想獲得用戶確認電子郵件,您可以:
User.where(confirmed: true)
但隨着你的用戶模型的範圍:
scope :confirmed, -> { where(confirmed: true) }
,你會簡單地說:
User.confirmed
更多詳細請參考此回答here