Привет, ребята, мне было интересно, может ли кто-нибудь помочь мне с проблемой, которая у меня есть, в основном я хотел бы иметь Account.create после получения уведомления PayPal. Существует простая модель корзины, которая соответствует line_items внутри корзины, поэтому add_account_to_market выглядеть так в псевдокоде
def add_account_to_market
if status == "Completed"
find the line items(via cart_id) that correspond to the cart.id that just been paid
create an account with user_id set to the current carts user id
end
end
Я никогда не пытался сделать что-то подобное в Rails, и это не работает, я вырывал свои волосы всю ночь, пытаясь это исправить, надеюсь, кто-то может помочь или направить меня в правильном направлении. Спасибо:)
class PaymentNotification < ActiveRecord::Base
belongs_to :cart
serialize :params
after_create :mark_cart_as_purchased
after_create :add_account_to_market
private
def mark_cart_as_purchased
if status == "Completed"
cart.update_attribute(:purchased_at, Time.now)
cart.update_attribute(:paid, true)
end
end
def add_account_to_market
if status == "Completed"
l = LineItem.find(:all, :conditions => "cart_id = '#{cart.id}'")
for l.quantity
Account.new(:user_id => cart.user_id)
end
end
end
end
PS mark_cart_as_purchased метод работает нормально, просто у add_account_to_market у меня проблемы с.