J'essaie d'utiliser les éléments suivants:
class PaymentsController < ApplicationController
def addproduct
(session[:products] ||= []) << params[:item]
redirect_to :back
end
end
J'ai eu cette exception:
undefined method `back_url' for #<PaymentsController:0x007ff682c467a8>
Pourquoi cela se produit-il?
Rails 5 a redirect_back
, au lieu de redirect_to :back
. Il a été modifié car il générait une exception lorsque la requête HTTP_REFERER
n'était pas présent.
Alors utilisez ceci:
redirect_back fallback_location: root_path
Vous pouvez changer root_path
à autre chose selon vos besoins.
redirect_to :back
a été déconseillé dans Rails 5.0 (voir PR ), puis supprimé dans Rails = 5,1
Utilisez plutôt ce qui suit:
redirect_back(fallback_location: root_path)