Ruby on rails 3 在minions=Minion.all中的哈希中查找记录
有没有办法直接在变量中查找仆从,而不是在数据库中搜索 我正在努力清理这件事,我认为这将是一个前进的方向:Ruby on rails 3 在minions=Minion.all中的哈希中查找记录,ruby-on-rails-3,hash,Ruby On Rails 3,Hash,有没有办法直接在变量中查找仆从,而不是在数据库中搜索 我正在努力清理这件事,我认为这将是一个前进的方向: minions = Minion.all 在您的示例中,您可以在units数组上使用find方法 subtotal = 0.0 units = Unit.all self.quote_items.order("area_id").each do |item| subtotal += Unit.find(item.unit_id).highest_price(package)*item
minions = Minion.all
在您的示例中,您可以在
units
数组上使用find
方法
subtotal = 0.0
units = Unit.all
self.quote_items.order("area_id").each do |item|
subtotal += Unit.find(item.unit_id).highest_price(package)*item.quantity if item.unit
end
sprintf("%.2f", Quote.add_margin(subtotal))
但是在这种情况下,您可以使用:include
。这将加载每个项目的项。单位
subtotal = 0.0
units = Unit.all
self.quote_items.order("area_id").each do |item|
if unit = units.find{|u| u.id == item.unit_id
subtotal += unit.highest_price(package)*item.quantity
end
end
sprintf("%.2f", Quote.add_margin(subtotal))
quote_items.order("area_id").include(:unit).each do |item|
if item.unit
subtotal += item.unit.highest_price(package) * item.quantity
end
end