Hé les gars je me demandais si quelqu'un pouvait m'aider avec un problème im ayant, essentiellement id avoir comme Account.create après une notification PayPal est reçu, Il y a un modèle de panier simple qui correspond à line_items dans le panier afin add_account_to_market ressemblerait à ceci dans le code pseudoafter_create: créer une nouvelle ligne dans DB
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
Ive jamais essayé de faire quelque chose comme ça dans Rails et son ne fonctionne pas, Ive été tirant mes cheveux toute la nuit en essayant de résoudre ce problème, je l'espère Quelqu'un peut m'aider ou me diriger dans la bonne direction. Merci :)
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 méthode mark_cart_as_purchased fonctionne bien, est juste le add_account_to_market im des problèmes avec.