【发布时间】:2015-04-24 14:11:30
【问题描述】:
我有一段涉及 arel 操作的代码,想对其进行优化。
case group_type
when "week"
gmv = OrderItem.joins(:order).where(order: {order_date: from_date..to_date }).group_by_week("order.order_date").sum("sub_total")
when "month"
gmv = OrderItem.joins(:order).where(order: {order_date: from_date..to_date }).group_by_month("order.order_date").sum("sub_total")
when "day"
gmv = OrderItem.joins(:order).where(order: {order_date: from_date..to_date }).group_by_day("order.order_date").sum("sub_total")
end
我想要一种方法,我可以将它写在一行中,然后替换为“group_by_#{group_type}”
我可以使用 eval。但是使用 eval 不是一个好习惯。
谢谢
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 activerecord arel