Это кажется мне очень странным, сумма активной записи возвращает строку, а не число
basket_items.sum("price")
Это, кажется, заставляет его работать, но я подумал, что, возможно, что-то пропустил, так как это выглядит какочень странное поведение.
basket_items.sum("price").to_i