我正在尝试按价格设置控制器返回的记录顺序。问题是有 3 种不同的价格选项,每条记录可能只使用 1 个价格、2 个价格或所有价格。所以我决定按均价设置头寸。为了获得平均价格,我预计将可用价格的总和除以可用价格计数。
目前我正在按 id 设置订单:
def category
@manufacturers = Manufacturer.order("manufacturers.id ASC").where(:visible => true)
end
每条记录都有 :hp_price, :ch_price, :mp_price (所有每月支付价格),所以我想我想检查每个选项是否已设置,如果是,请将其添加到一个数组中,稍后我可以运行计算(也许这个不是最好的方法吗?)。
我对如何去做这件事有点困惑(我是 Rails 新手)。我可以在控制器中在线执行此操作吗?(如果是这样,我什至应该这样做吗?)
大意是:
def category
@manufacturers = Manufacturer.order((manufacturers.hp_price+manufacturers.ch_price+manufacturers.mp_price)/3 ASC).where(:visible => true)
end
或者另一种可能性是为每条记录添加一个平均价格列,然后在创建记录时计算出来(不过,这对我来说感觉有点过头了)。
我想我想知道在这种情况下你会考虑什么最佳实践,就像我说的那样,我是新手,我担心如果我只是勉强应付的话,我会想出的解决方案会有点hacky!