【发布时间】:2017-04-24 18:30:37
【问题描述】:
我很想以更像 Ruby 的方式重构下面的代码。
def cal_total
total = nil
items.each do |item|
total = total + item.itemable.amount
end
total
end
基本上只是迭代对象,获取每个金额,然后返回总数。 有什么想法吗?
更新
total = item.itemable.amount 是正确的。
【问题讨论】:
-
什么是 itemable,也可以通过单个查询来完成
-
项目与其他模型具有多态关系。
-
@TSH 添加您的关联。
items.itemable- 这行得通吗? -
@dp7 抱歉我更新了问题。
-
@TSH 添加了答案
标签: ruby-on-rails ruby