好的,我会尽我所能来解释这个。如果我错过任何重要的事情请告诉我。
我正在使用这行代码来查看库存清单。我已将其截断以使其更具可读性。
- @candidates.each do |product| #the variable candidates goes through a module to list available products from the Product class
.................
- product.jobs.unconfirmed.on_date_interval(@job.delivery, @job.collection).each do |unconfirmed|
#unconfirmed and on_date_interval are scopes in the product class,
#displaying unconfirmed products that fall within the specified date range
...........
-unconfirmed.job_products.each do |x|
-raise #this bring up Binding Of Caller to inspect code in the browser
= x.quantity
问题发生在最后一次迭代中。
-unconfirmed.job_products.each do |x|
注意:当我输入时,我意识到可能会出现范围unconfirmed
的名称和第3行中的变量引起的混淆。但是我使变量名称唯一但这并没有阻止错误。
因此,使用调用者的绑定来查看输出我看到变量'x.quantity'
正确输出
>> x.quantity
=> 3
然而,在没有调用者绑定的实际视图中,输出是不同的。它显示了x
变量的每个实例中与变量product
匹配的每个产品的所有数量......令人讨厌。因此,如果unconfirmed
变量包含两个实例,则它们会正确显示在每个相应的产品中。但x.quantity
将在每个产品中显示两个数量。
我想要的是每个产品显示其可用数量,如调用者输出的绑定。
我没有列出模型关系,因为它们相当复杂(对我来说无论如何),我不认为它们与问题有关。如果你认为他们可能只是问。
干杯人。