我在带条纹的付款平台上使用红宝石。问题在于要出售物品的页面上,有多个物品,每个物品的付款额不同。现在发生的事情是,循环获取了最后一项的金额,并将该金额提供给页面上的每个项目,而不是每个都有自己唯一的金额。
<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 %>"
最后的data-amount变量是获取每个项目的值的地方,而上面的代码正是我尝试评估每个项目的@amount的地方。感谢您的任何提前帮助。
答案 0 :(得分:0)
首先,这是您应该始终将此类代码放置在助手中而不是视图中。每次进入循环时,@ 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变量也用一个脚本标签循环来初始化?