Я работаю над загрузкой .tab-файла в базу данных, и все хорошо согласуется после завершения загрузки. Я хочу рассчитать цену товара из этой загрузки, а не из целая таблица. Я приведу свои примеры ниже. Я выложу один простой, чтобы показать, что я пытаюсь сделать в меньшем масштабе, а затем опубликую свое действие загрузки, которое просто пытается получить конкретную сумму в конце действия.Поиск суммы определенного столбца внутри hash
Легкий пример:
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
Спасибо за любые советы, и я буду редактировать/размещать дополнительную информацию при необходимости без проблем. Еще раз спасибо и приветствую!
Спасибо Я получаю эту ошибку от линии ::::::::: @upload_price + = parsed_hash [ "цена товара"], Строка не может быть принужден к Fixnum – ZachyBear
добавления. to_i до конца работал отлично !! спасибо Чумакову !!! – ZachyBear
@upload_price + = parsed_hash ["цена товара"]. To_i – ZachyBear