Je veux avoir une configuration différente pour une seule action de mon application de mon rails. Comment puis-je faire ça? P>
3 Réponses :
# controller that calls the page def action render :layout => 'other' end
Donc, dans mon cas, mon "action def" est "DEF Homepage" alias l'index. J'ai fait un fichier layout.css.scss et l'a placée dans mon dossier de stylesheets et ajouté dans votre ligne de rendu avec "Autre" étant "mise en page" et ma demande s'est écrasée. Je suis confus quant à ce que je fais mal. Mon nouveau fichier de mise en page est le même que mon fichier de mise en page d'origine.
Difficile à dire sans vérifier le code, ouvrez une nouvelle question et je peux avoir un look
class MyController < ApplicationController layout "special", :only => :action def action #action code end end
Hmm. En fait, cela rend toutes mes autres actions pour ce contrôleur n'ont aucune mise en page. Toute façon de ramener ces dos?
Je n'ai pas essayé, mais qu'en est-il de mettre une autre ligne au top pour défaut? quelque chose comme mise en page 'normale' #: sauf =>: action code>
@ecologic, cela ne fonctionnera pas (dans Rails 3.0.x quand même). Vous ne pouvez avoir que la déclaration globale d'une disposition par contrôleur
layout :resolve_layout . . . private def resolve_layout case action_name when "new" "alternate" else "application" end end
Guides.RubyonRails.org/Layouts_and_Rending.html
Duplicaté possible de Rails 3, comment ajoutez une vue qui n'utilise pas la même mise en page que le reste de l'application?