【发布时间】:2015-11-11 01:53:16
【问题描述】:
我正在将一个 .tab 文件上传到数据库,上传完成后一切顺利,我想仅从该上传而不是从整个表中计算商品价格。我将在下面发布我的示例。我将发布一个简单的,以在较小的范围内展示我正在尝试做的事情,然后我将发布我的上传操作,它只是试图在操作结束时获得特定的总和。
简单示例:
def find_whole_rev
@total_price = NewTable.sum[:item_price]
end
返回表中所有值的总和没有问题。但要将其缩小以仅显示我所拥有的上传文件的商品价格:
def import
require 'csv'
db = []
CSV.parse(params[:file].read, {headers: true, col_sep: "\t"}) do |f|
db.push(f.to_hash)
NewTable.create(purchaser_name: f.to_hash["purchaser name"],
item_description: f.to_hash["item description"],
item_price: f.to_hash["item price"],
purchase_count: f.to_hash["purchase count"],
merchant_address: f.to_hash["merchant address"],
merchant_name: f.to_hash["merchant name"],
)
@upload_price = f.to_hash.sum[:item_price]
end
end
一切都很好,除了我无法让 upload_price 变量填充上传文件的项目总价格。我收到此错误消息:
no implicit conversion of Symbol into Integer
感谢您的任何建议,如果需要,我会编辑/发布更多信息,没问题。再次感谢和欢呼!
【问题讨论】:
标签: mysql ruby-on-rails file-upload methods sum