如何在此代码中应用demeter定律?
我知道如何通过创建单独的方法,范围来实现....但我不知道如何使用这样的查询来完成它。
pages = Seo::Page.active
.path_with(category)
.includes(seo_area: :suburb)
.group('suburbs.state')
scope :path_with, -> category { where('path like ?', "/#{category}/%") }
答案 0 :(得分:0)
您可以创建类方法或新范围来封装Seo::Page
类中的逻辑。
def self.grouped(category)
active
.path_with(category)
.includes(seo_area: :suburb)
.group('suburbs.state')
end
pages = Seo::Page.grouped(category)