J'utilise ce contrôleur 3ème partie:Rails - Intercept respond_with
class LibController
def update
# 29 lines of code
respond_with resource
end
end
Je veux faire autre chose que la respond_with
à la fin. Mais je ne veux pas simplement copier/coller toutes les 29 lignes dans MyController.update
. Malheureusement, je ne peux pas trouver un moyen de rendre ou redirigent nulle part ailleurs:
class MyController < LibController
def update
super
redirect_to somewhere_else
end
end
je reçois un DoubleRenderError: Render and/or redirect were called multiple times in this action
. Je suppose que c'est parce que respond_with
appelle immédiatement render
. Y a-t-il un moyen de bloquer/empêcher cela?
Merci!
Merci aldrien. Je me demande si ma seule option est de copier/coller la méthode entière à partir de la méthode 3rd party, juste pour remplacer cette dernière ligne. – Matt
Je pense que vous avez juste besoin d'utiliser la redirection dans la méthode Controller, et essayez de supprimer le respond_with dans "class LibController". Désolé, je ne fais que deviner la voie possible, puisque je n'ai pas vu vos codes complets. Essayez de le manœuvrer, chose importante est d'utiliser une seule redirection. –