J'essaie de permettre aux utilisateurs de voter un enregistrement haut/bas avec Ajax. J'utilise le plugin vote_fu pour la fonctionnalité de vote, et tout fonctionne bien sans Ajax. J'essaye maintenant de comprendre la meilleure manière d'implémenter la fonctionnalité asynchrone avec le javascript discret. Ce que je fais maintenant est d'avoir deux boutons, "Haut" et "Bas", de sorte que lorsque vous cliquez sur l'un ou l'autre, une demande est faite à votes_controller et l'action créer ou mettre à jour, selon si l'utilisateur avait déjà soumis un vote sur ce dossier avant. Les paramètres soumis seraient le record_id ainsi que la valeur du vote. Avec Ajax, comment dois-je gérer le cas où un utilisateur entre une page pour voter sans avoir voté sur l'enregistrement avant? Plus précisément, les liens iraient aux votes # créer au début, mais après cette première soumission, les liens devraient passer aux votes # mise à jour.Voter avec Ajax dans Rails
Existe-t-il un moyen standard de prendre soin de cela? Je pensais juste à ajouter une vérification supplémentaire dans la méthode "create" de telle sorte qu'elle agirait comme "update" si elle trouvait un enregistrement pour la paire user_id, voteable_id, mais cela semblait assez maladroit et pas complètement RESTful.
Merci, Eric
je pensais à utiliser simplement un appel de procédure, mais par curiosité, quand est-il généralement « acceptable » pour se éloigner d'un appel de repos? Par exemple, si vous avez une relation d'ami entre les utilisateurs, seriez-vous amis avec FriendshipsController # create ou UsersController # addFriend? – Eric
Réponse mise à jour concernant votre commentaire. –