2013-10-30 17 views
0

我在Rails中编写了一个应用程序,并创建了一个查询来计算last_insurance和总和type_money,但是当我在text_field_tag中显示它时, :执行查询后发出的问题,我在查看其他值

#######this error is inside my text_field_tag 
     #<Policy:0x7feed11412d0> 

下面是该查询的描述:

http://sqlfiddle.com/#!2/72f5c/1 

这里是我的模型:

class Insurance < ActiveRecord::Base 
    belongs_to :policy 
end 

class Policy < ActiveRecord::Base 
unloadable 
has_many :insurances 
end 

这是我的控制器:

class PolicyController < ApplicationController 
    def generate_print_calculator 
    @dolar = Policy.find_by_sql("SELECT sum(i1.net_insurance) total 
           FROM (
        SELECT max(id) id FROM insurances 
        GROUP BY policy_id 
       ) i2 
      JOIN insurances i1 USING (id) 
       JOIN policies p ON p.id = i1.policy_id 
      WHERE p.type_money = 1 
      GROUP BY p.type_money")  
    end 
end 

这是我的看法:

Suma Dólars : 
<%= text_field_tag "dolar", @dolar %> 

当我尝试这样做的MYSQL我:

  |total| 
    426913.49999999977 

而且,当我表现出@dolar我查看我在我的文本框里面得到了这个:

#<Policy:0x7feed11412d0> 

@dolar没有显示在我看来,我正在获得另一个值。此外,当我刷新我收到另一个陌生值:

#<Policy:0x7feed0e05440> 

这里是我尝试用更少的政策和工作的例子:

http://sqlfiddle.com/#!2/72f5c/1 

有人可以帮我吗?

+0

在你看来没有任何变化,尝试<%= @ dolar.inspect%>。结果如何? –

+0

我试过了你的代码,我在我的文本框里面有“nil” –

回答

1

您需要在您的视图中执行<%= text_field_tag "dolar", @dolar.first.total %>

@dolar.first.total看起来更好然后@dolar[0].total ......只是一种视觉的东西在输出

+0

我试了你的代码,我得到了 未定义的方法'total'为[#]:Array –

+0

你在查询中提取了哪些列,想打印? –

+0

我想你想在你的文本中'type_money'值..如果是这样用'type_money'替换总数 –