gpt4 book ai didi

ruby-on-rails - RSpec - NoMethodError 对于在关联模型上调用的方法

转载 作者:行者123 更新时间:2023-11-28 21:31:30 25 4
gpt4 key购买 nike

我正在尝试测试我的费用报告应用。当我计算某件商品的税金时,我需要进行查询以查看是否应该对某件商品征税。

我的 item_spec.rb:

describe Item do
subject {Item.new(:report_id => 26 , :name => 'Gas' , :tax_id => 1 , :category_id => 15 , :sub_category_id => 1 , :job_id => 1 , :total => 20 )}
let(:tax) {Tax.find_by_id(subject.tax_id)}
let(:sub_category) {SubCategory.find_by_id(subject.sub_category_id)}

it 'Calculate Taxes and Cost' do
subject.set_nil_values
subject.calculate_tax(:tax, :sub_category)
end
end

这是我得到的错误:

  1) Item Calculate with just Total
Failure/Error: subject.calculate_tax(:tax, :sub_category)
NoMethodError:
undefined method `rate' for :tax:Symbol
# ./app/models/item.rb:88:in `calculate_tax'
# ./spec/models/item_spec.rb:21:in `block (2 levels) in <top (required)>'

这是我的“calculate_tax”方法中失败的行:

self.tax_rate = tax.rate

我需要做什么才能完成这项工作?

最佳答案

尝试调用函数 calculate_tax 并直接传入 taxsub_category 助手而不是符号,如下所示:

subject.calculate_tax(tax, sub_category)

在这里查看文档和用法:Let and let!

关于ruby-on-rails - RSpec - NoMethodError 对于在关联模型上调用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20181288/

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