我在应用程序中遇到了一些问题。我正在关注https://launchschool.com/blog/basic-paypal-checkout-processing-in-rails的教程,以使用PayPal处理付款,但是当我的应用程序重定向到Sandbox Paypal时,它会显示一个空白页。
这是我的代码
订单控制器
def create
@order = Order.new(order_params)
@order.add_line_items_from_cart(@cart)
respond_to do |format|
if @order.save
redirect_to @order.paypal_url(orders_path(@order))
else
render :new
end
end
订购模型
protect_from_forgery except: [:hook]
def hook
params.permit! # Permit all Paypal input params
status = params[:payment_status]
if status == "Completed"
@order = Order.find params[:invoice]
@order.update_attributes notification_params: params, status: status, transaction_id: params[:txn_id], purchased_at: Time.now
end
render nothing: true
end
secret.yml
development:
secret_key_base: 0351c7e4eb70df5503d739c085d7a75dae662a55e95cf257b4a2e3edaa6985623372b7d20fc3ea59fe58d9ec94243e36a7250007ad2d9734b68cf29f90cca682
paypal_host: https://www.sandbox.paypal.com
app_host: http://0.0.0.0:3000
Routes.rb
post "/hook" => "orders#hook"
post "/orders/:id" => "orders#show"
对不起,我的英语不好..
wespond_to需要您指定操作将响应的格式,例如
respond_to do |format|
format.html { redirect_to .... }
end
或
format.any(:html, :js) { ... }
在您的情况下,您似乎不需要使用recond_to