这个问题与this之前提出的问题有关。
My列: ID、收据、TAXID、基数、包含条目的金额:1,001、30美元、3美元
2,001,50美元,5美元
3,001,20美元,2美元
然后是列的第二个表: TICKETID,TICKETNUMBER
我的控制器
class TaxlinesController < ApplicationController
def index
@taxlines = Taxline.group(:RECEIPT).sum(:AMOUNT)
end
end我的观点
<% @taxlines.each do |receipt, amount| %>
<td><%= receipt %></td>
<td><%= amount %></td>
<% end %>这是很好的工作,以显示每一行与相应总额的票。
问题1.什么是正确的方式也显示在看的基础和?我试过.sum(:AMOUNT, :BASE) and .sum(:AMOUNT).sum(:BASE),但它们都不起作用。
问题2.如果现在我调用view,例如<%= taxline.TAXID %>,我会得到一个错误。为了解决这个问题,我尝试添加视图<% @taxlines.each do |receipt, amount, taxid| %> and <td><%= taxid %></td>. And in controller @taxlines = Taxline.group(:RECEIPT).sum(:AMOUNT).select(:TAXID)。但它显示了一个空白的列。
问题3.我想从票表中显示TICKETNAME值,我已经在Ticketline Model belongs_to :ticket中设置了。我假设在解决了问题1之后,我就可以做ticketline.ticket.TICKETNAME.Right了?
发布于 2016-10-20 11:29:57
问题1:
尝尝这个
@taxlines = Taxline.group(:RECEIPT).select("SUM(AMOUNT) AS AMOUNT, SUM(BASE) AS BASE")Question2:
要访问TAXID,需要将其添加到组列中。
@taxlines = Taxline.group(:RECEIPT, :TAXID).select("SUM(AMOUNT) AS AMOUNT, SUM(BASE) AS BASE, TAXID")问题3:
要访问其他表变量,需要将联接语句添加到查询中,然后对其进行分组。
@taxlines = Taxline.joins(:ticket).group(:RECEIPT, :TAXID).select("SUM(AMOUNT) AS AMOUNT, SUM(BASE) AS BASE, TAXID, TICKETNAME")在视图端,尝试下面的一个。
<% @taxlines.each do |taxline| %>
<td><%= taxline.AMOUNT %></td>
<td><%= taxline.BASE %></td>
<td><%= taxline.TAXID %></td>
<td><%= taxline.TICKETNAME %></td>
<% end %>没试过这个。
https://stackoverflow.com/questions/40152933
复制相似问题