J'essaie de comprendre comment configurer la mise en page à partir d'un répondeur personnalisé. Je veux utiliser le request.xhr? pour définir la disposition du rendu sur 'ajax'. Est-ce que quelqu'un sait comment faire cela? J'utilise Rails 3 et j'ai un répondeur comme ceci:Définir la disposition du répondeur?
module AjaxLayoutResponder
def to_html
if request.xhr?
# do something here to change layout...
end
super
end
end
Il semble à moi comme un répondeur est la meilleure façon d'y parvenir commutation de mise en page « ajax ».
qui est généralement ce que je fais, mais ce particulier Le projet utilise des dispositions personnalisées pour différents contrôleurs. Cela rendrait toujours ma mise en page "application" au lieu de celle personnalisée. Il me semble que modifier la disposition, en fonction de si la requête est ajax, correspond effectivement à la description d'un répondeur. Pourquoi le contrôleur devrait-il s'en préoccuper? Le répondeur personnalise la réponse en fonction du type de requête. Et cela favoriserait la réutilisation du code sec. Au lieu d'avoir à faire un 'set_layout' personnalisé pour chaque contrôleur qui a une disposition non standard. – demersus
Ah, je vois. Avez-vous vos mises en page nommées d'après votre contrôleur? Si oui, quelque chose comme ça peut fonctionner: request.xhr? 'ajax': params [: controller] .singularize –
Cela semble logique. Je vais devoir essayer. Merci :) – demersus