1
在模型中創建命名範圍時,是否需要在查詢中使用的屬性之前調用模型?創建命名範圍:是否需要在屬性之前聲明該模型
例
scope :sorted, order('position ASC')
VS
scope :sorted, order('pages.position ASC')
是後者優選的,或者與約定內嵌?兩者都有好處嗎?還是隻是一個清晰或易讀的問題?
在模型中創建命名範圍時,是否需要在查詢中使用的屬性之前調用模型?創建命名範圍:是否需要在屬性之前聲明該模型
例
scope :sorted, order('position ASC')
VS
scope :sorted, order('pages.position ASC')
是後者優選的,或者與約定內嵌?兩者都有好處嗎?還是隻是一個清晰或易讀的問題?
您將需要聲明模型,如果範圍將與另一個具有相同名稱的字段的模型一起使用。
說的是company has_one :contact
,而Contact
的有position
。然後
Company.sorted.joins(:contact)
會抱怨(在SQL級),它目前還不清楚該position
領域應該用於排序。
否則它是可選的。