Avis aux amateurs de Ruby On Rails, dans ses dernières versions (à partir de la 6), les développeurs ont fait évoluer la classe Base du module ActionView utilisée pour effectuer le rendu manuel des templates.
Code source disponible ici :
https://github.com/rails/rails/blob/6-1-stable/actionview/lib/action_view/base.rbLa précédente signature du constructeur permettait d'instancier de la façon suivante :
view = ActionView::Base.new(ActionController::Base.view_paths, {})
Désormais avec la nouvelle version, une instance de LookupContext est attendue en premier et il faut procéder de cette manière :
context = ActionView::LookupContext.new(ActionController::Base.view_paths)
view = ActionView::Base.with_empty_template_cache.new(context, {}, nil)
De mon côté, je constate qu'au delà du premier appel pour un même template, le code plante (erreur 500) car il cherche à récupérer le template par une méthode qui n'existe pas au moment du render. Y'a-t-il des choses à changer ce à niveau là ?