rails,调用者输出的绑定与视图输出的行为不同

时间:2014-08-12 21:19:10

标签: ruby-on-rails ruby

好的,我会尽我所能来解释这个。如果我错过任何重要的事情请告诉我。

我正在使用这行代码来查看库存清单。我已将其截断以使其更具可读性。

       - @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将在每个产品中显示两个数量。

我想要的是每个产品显示其可用数量,如调用者输出的绑定。

我没有列出模型关系,因为它们相当复杂(对我来说无论如何),我不认为它们与问题有关。如果你认为他们可能只是问。

干杯人。

0 个答案:

没有答案