2015-06-19 3 views
1

Как я могу применить закон деметатора в этом коде?Закон Деметры в `включает` и` group` запросы

Я знаю, как это сделать, создав отдельные методы, scope .... но я не уверен, как это сделать с такими запросами.

pages = Seo::Page.active 
    .path_with(category) 
    .includes(seo_area: :suburb) 
    .group('suburbs.state') 

scope :path_with, -> category { where('path like ?', "/#{category}/%") }

ответ

0

вы можете создать класс-методу или новые области для инкапсуляции логики в Seo::Page классе.

def self.grouped(category) 
    active 
    .path_with(category) 
    .includes(seo_area: :suburb) 
    .group('suburbs.state') 
end 

pages = Seo::Page.grouped(category) 
Смежные вопросы