Stripe documentation on errors'u gözden geçirdim, ancak hala bu hataları düzgün bir şekilde işleme/yeniden yönlendirme konusunda sorun yaşıyorum. Temel olarak ne olursa olsun, (edit_profile_path
aracılığıyla) edit
eylemine geri dönmelerini ve bir mesaj göstermelerini (başarılı olsun ya da olmasın) istiyorum.Bir kerelik şarj için Şerit hatalarını ve istisnaları düzgün bir şekilde kullanmak
update
eylemine POST'lar için edit
eyleminde bir form var. Bu geçerli bir kredi kartı ile düzgün çalışıyor (şarj Stripe panosunda). Stripe.js'yi kullanıyorum. Şimdi redirect_to
bir flaş mesajı geçebilir olsa
class ExtrasController < ApplicationController
def edit
@extras = current_user.extras
end
def update
Stripe.api_key = "hidden"
token = params[:stripeToken]
begin
charge = Stripe::Charge.create(
:amount => 5000, # amount in cents
:currency => "usd",
:card => token,
:description => current_user.email
)
rescue Stripe::CardError => e
# redirect_to edit_extras_path, notice: e.message
# What I'm trying to do, but obviously results in AbstractController::DoubleRenderError
rescue => e
# Something else happened, completely unrelated to Stripe
# Display a generic error message
end
redirect_to edit_extras_path, notice: "Card charged successfully."
end
end
Bu mantığı bir şans elde ettiğinizde bir modele taşımanızı öneririm. – tommyd456
Bunu yazdığından beri yaptım. Önerisi için teşekkürler. – gbdev
İyi adam - Ben aslında herhangi bir modele uymadığını hissettiğimden, özel bir hizmet nesnesine benimkini taşıdım. – tommyd456