Каждый цикл не возвращает правильную сумму для каждой записи - PullRequest
0 голосов
/ 05 мая 2019

Я использую ruby ​​на рельсах с полосой, которая является платформой оплаты. Проблема в том, что на страницах продажи предметов есть несколько предметов, каждый из которых имеет разную сумму для оплаты. Сейчас происходит то, что цикл получает сумму для самого последнего элемента и присваивает эту сумму каждому элементу на странице, а не каждому, имеющему свое уникальное количество.

  <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
          data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
          data-description="Purchase Book"
          new1=<%=
      listing_amount = @listing.amount
      @offers = @listing.offers
      @offers.each do |offer|
      offer_interest = offer.interest
      offer_month = offer.months
      @amount = (listing_amount * offer_interest * offer_month / 12).to_i
      end%>


          data-amount="<%=@amount %>"

Переменная количества данных в конце - это то, где она получает значение для каждого элемента, в то время как приведенный выше код - это то, как я пытаюсь оценить @amount для каждого элемента. Спасибо за любую помощь заранее.

1 Ответ

0 голосов
/ 05 мая 2019

Во-первых, вы всегда должны помещать такой код в помощники, а не в представления.Значение @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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...