У меня есть 2 похожих запроса, как я могу их высушить? Существует только 1 условие, которое отличается в обоих запросах.
if self.gender_target == "Both"
return Drop.limit(180).live.where(
:drops => {:navigation_section_id => 1}
).group(:id).joins(:categories).where(
:categories => {:id => self.categories}
).all
end
if self.gender_target != "Both"
return Drop.limit(180).live.where(
:drops => {:navigation_section_id => 1},
:drops => {:gender_target => ["Both", self.gender_target]} #extra condition
).group(:id).joins(:categories).where(
:categories => {:id => self.categories}
).all
end