gpt4 book ai didi

ruby-on-rails - 如果关联不存在,如何不求和?

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:36 25 4
gpt4 key购买 nike

如果任何产品上都没有税收 (tax_id),我会收到错误消息 undefined method 'amount' for nil:NilClass

class Product < ActiveRecord::Base
attr_accessible :amount, :tax_id
belongs_to :tax

def self.total_with_tax
self.sum(:amount) + all.map(&:tax).map(&:amount).sum
end
end

class Tax < ActiveRecord::Base
attr_accessible :amount
has_many :products
end

有没有一种方法可以做到,如果在搜索所有产品时没有税号,它会将其呈现为 nil 并只执行 self.sum(:amount)

最佳答案

或者,您可以将产品范围限定为仅映射那些实际具有 tax_id 的产品。像这样的东西:

self.sum(:amount) + self.where("tax_id IS NOT NULL").map(&:tax).map(&:amount).sum

关于ruby-on-rails - 如果关联不存在,如何不求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12272978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com