Je ne suis pas sûr de comprendre exactement, mais laissez-moi essayer de comprendre. Chaque fois que vous créez un modèle particulier, vous souhaitez envoyer un message XML à Amazon SQS? Si tel est le cas, alors ...
garder votre contrôleur comme si:
def create
@thing = Thing.new(params[:thing])
if @thing.save
#render view/partial/other
else
#display errors to user
end
Ensuite, vous utiliserez un Observer pour faire l'appel à Amazon. Mettez votre observateur à l'intérieur de votre répertoire modèles:
/app/models/Thing.rb
/app/models/ThingObserver.rb
Votre observateur pourrait ressembler à:
class ThingObserver < ActiveRecord::Observer
def after_create(thing)
AmazonSQSPlugin.send(thing.to_xml)
end
end
Le code de l'observateur sera exécuté après chaque créer. Si after_create dans l'observateur renvoie false, la création entière est annulée, comme si elle ne s'était jamais produite.
Vous devrez peut-être modifier votre configuration d'environnement pour que l'observateur fonctionne, en fonction de la configuration de votre application.
Merci pour votre aide! J'ai l'observateur qui court. Et im en utilisant le plugin 'RightAws :: SqsGen2'. donc j'ai fait cette def after_create (chose) RightAws :: SqsGen2.send (thing.to_xml) fin mais il donne une erreur de méthode non définie. – bartligthart
Quelle est l'erreur exacte? –