Возникли проблемы с количеством данных, получающим доступ к значению, созданному в контроллере платежей - PullRequest
0 голосов
/ 04 мая 2019

Я реализовал полосу в своем проекте ruby ​​on rails таким образом, чтобы на странице «листинга» (странице, отображающей все предложения) было несколько «предложений» (разных цен, которые вы можете выбрать). Работа в бэкэнде заключается в том, что когда вы платите за предложение, он правильно рассчитывает цену, и нужное количество денег поступает в бэкэнд.

Проблема заключается в том, что когда пользователь выписывает счет, он не показывает стоимость, которую он платит, которая идет на серверную часть. Я считаю, что проблема заключается в том, что по какой-то причине я не могу донести значение до страницы формы. Ниже у меня есть код, как сейчас.

Controllerfile.rb

class ChargesController < ApplicationController
  attr_accessor :amount

  def self.create
    # Amount in cents. This amount will be charged.
    @amount = 0
    @listing = Listing.find(params[:listing_id])
    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

end

stripe_form.html.erb Место, где оно отображается для отображения на странице: "data-amount ="

<%= form_tag listing_offer_charges_path(@listing, @listing.offers) do %>
  <article>
    <% if flash[:error].present? %>
      <div id="error_explanation">
        <p><%= flash[:error] %></p>
      </div>
    <% end %>
    <label class="amount">
      <span>Interest: AU$</span>
      <%= @listing.interest_amount %>
    </label>
  </article>

  <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
          data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
          data-description="Purchase Book"
          data-amount="<%=@amount %>"
          data-locale="auto"></script>
<% end %>

1 Ответ

0 голосов
/ 05 июня 2019

Ход вашего приложения не совсем понятен, но, поскольку вы находитесь на stripe_form.html.erb, я думаю, что между контроллером и представлением должен быть промежуточный шаг.Если вы где-то используете redirect_to, то, возможно, к моменту получения представления @amount будет пустым.у предложений @listing и @listing есть допустимые значения?

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