def create
@user = User.create(user_params)
if @user.valid?
charge = StripeWrapper::Charge.create(amount: 999, card: params[:stripeToken], description: "Sign up charge for #{@user.email}")
if charge.successful?
@user.save
User.inviter_and_invited_follow_each_other(@user)
AppMailer.delay.welcome(current_user)
session[:user_id] = @user.id
flash[:notice] = "You have successfully registered and will be logged in."
redirect_to root_path
else
flash[:notice] = charge.error_message
render :new
end
else
render :new
end
end
Пользователь экономит, даже когда charge.successful? возвращает false. Ничего другого не происходит, поскольку не отправлено ни одного сообщения, session [: user_id] не установлен и не перенаправлен на root_path. Блок Else выполняет и визуализирует: новый и отображает флеш-уведомление, говорящее, что карта отклоняется.Как избежать сохранения после создания? Рельсы
Я пытаюсь избежать создания пользователя, если charge.successful? возвращает false. Любая идея о том, как это сделать?
Спасибо, я не могу поверить, что я не понять это. Время для отдыха! – user2170878