Ruby on rails 条带-传入参数";“金额”;从另一张桌子
因此,我正在实现checkout.js条带脚本来支付“预订”费用。我在booking/show.html.erb中有以下内容Ruby on rails 条带-传入参数";“金额”;从另一张桌子,ruby-on-rails,ruby,stripe-payments,params,Ruby On Rails,Ruby,Stripe Payments,Params,因此,我正在实现checkout.js条带脚本来支付“预订”费用。我在booking/show.html.erb中有以下内容 <center> <b>Address:</b> <%= @booking.address %> </p> <p> <b>Catering:</b> <%= @booking.catering.foodtype %> <b>$&
<center>
<b>Address:</b>
<%= @booking.address %>
</p>
<p>
<b>Catering:</b>
<%= @booking.catering.foodtype %>
<b>$</b>
<%= @booking.catering.cost %>
</p>
<p>
<b>Customer:</b>
<%= @booking.customer.name %>
</p>
<p>
<b>Eventtype:</b>
<%= @booking.eventtype %>
</p>
<p>
<b>Finishdatetime:</b>
<%= @booking.finishdatetime %>
</p>
<p>
<b>Marquee:</b>
<%= @booking.marquee.name%>
<b>$</b>
<%= @booking.marquee.cost%>
</p>
<p>
<b>Musician:</b>
<%= @booking.musician.name %>
<b>$</b>
<%= @booking.musician.cost %>
</p>
<p>
<b>Size:</b>
<%= @booking.size %>
</p>
<p>
<b>Startdatetime:</b>
<%= @booking.startdatetime %>
</p>
<p>
<b>Toilet:</b>
<%= @booking.toilet.name %>
<b>$</b>
<%= @booking.toilet.cost %>
</p>
<p>
<b>TOTAL COST:</b>
<%= @totalcost = @booking.toilet.cost + @booking.musician.cost + @booking.catering.cost + @booking.marquee.cost %>
</p>
<p>
<a href="#" onclick="window.print();return false;">Print this invoice</a>
</p>
<a href="http://localhost:3000/charges/new">Pay</a>
</center>
地址:
餐饮:
$
客户:
事件类型:
Finishdatetime:
字幕:
$
音乐家:
$
尺寸:
开始日期:
厕所:
$
总成本:
然而,在我的费用控制器中,金额硬编码到create方法中,如下所示
class ChargesController < ApplicationController
def new
end
def create
# Amount in cents
@amount = 500
customer = Stripe::Customer.create(
:email => params[:email],
:card => params[:stripeToken]
)
charge = Stripe::Charge.create(
:customer => customer.id,
:amount => @amount,
:description => 'Rails Stripe customer',
:currency => 'eur'
)
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to charges_path
end
end
class ChargesControllerparams[:email],
:card=>params[:stripeToken]
)
charge=Stripe::charge.create(
:customer=>customer.id,
:amount=>@amount,
:description=>“Rails条带客户”,
:货币=>“欧元”
)
救援条带::CardError=>e
闪光[:错误]=e.message
将\u重定向到\u路径
结束
结束
我想拥有它,这样当我点击我的节目底部的“支付”时,它会将我带到费用/新页面,在那里金额会被传递。我不知道该怎么做,因为chargescreate方法不知道从哪个预订实例获取参数,因为它只是指向charges/new页面的直接href链接
这可能很复杂,但如果有人能把我引向正确的方向,那就太好了 您可以使用AJAX请求调用
create
控制器,请求的数量在参数中。
然后在控制器中,您可以执行以下操作,例如:
@amount = params['amount']
您应该查看条纹指南,其中说明了所有内容:
还有,有很多方法可以做到这一点,我建议你一个可能不是更好的解决方案
干杯,您可以将预订id作为查询参数传递,如
“http://localhost:3000/charges/new?booking_id=#{@booking.id}“
然后在post参数中传递它以创建method@PramodShinde这似乎是可行的。你能把它放到它各自的类中吗?我建议你在这里使用嵌套模型:http://localhost:3000/bookings/{booking.id}/charges/new
这可能是个坏主意。用户可以更改url并更改收费金额。@Pramod Shinde的评论是正确的选择