Во-первых, вы всегда должны помещать такой код в помощники, а не в представления.Значение @amount изменяется каждый раз, когда оно входит в цикл, и окончательная сумма будет суммой, рассчитанной в последнем.Таким образом, код на самом деле возвращает
offer = @offers.last
offer_interest = offer.interest
offer_month = offer.months
@amount = (listing_amount * offer_interest * offer_month / 12).to_i
Я не уверен, что вы хотите сделать, так как весь код не виден.
Вопрос1: Если у вас есть несколько элементов, то почему вы инициализируете одну переменную как целое число / число с плавающей запятой
Вопрос2: Я не вижу, где вы показываете детали элемента?Вы используете цикл несколько раз?
question3: Почему переменная new1 инициализируется циклом, который тоже является тегом script?