1
Ruby를 통해 쿼리를 생성하여 보고서를 생성합니다.지저분한 범위로 쿼리를 작성하는 대신?
query = Account.includes(:assets, :location, :category)
보고서 요청에 여러 개의 선택적 매개 변수가 있습니다 (예 : 카테고리를 보낼 수 있거나 전혀 초기화 할 수 없음).
현재, 나는 범위 내가이 여러 번 수행하고 작동
scope :in_category, lambda { |category|
where("#{table_name}.category_id = :category_id", :category_id => category.id)
}
인 적용 범위
if category.present?
cat = Category.find_by_name(category)
query = query.in_category(cat) if cat.present?
end
로 설정하고 쿼리를 할당 한 후 다음을 고려하십시오. 나는 하나의 Where 조건을 가독성을 위해 구축하는 것을 선호한다 (실제 쿼리를 이해하기 위해서는 10 개의 스코프를 읽지 않아도된다).
깨끗한 방법이 있습니까?