7 votes

Vérifiez si une mise en page existe dans Rails ?

Y a-t-il un moyen standard de vérifier si une mise en page de vue existe depuis un contrôleur dans Rails? J'essaie de permettre à l'utilisateur de déterminer la mise en page, mais elle doit d'abord exister.

25voto

Joni Points 1432

Vous pouvez utiliser template_exists? qui est un alias pour exists?

Par exemple: template_exists?("layout_name", "layouts")

3voto

Daniel Beardsley Points 6802

Il n'y a pas de moyen public standard à ma connaissance. Vous pourriez utiliser un appel rudimentaire comme celui-ci :

layouts = Dir['app/views/layouts/*'].map {|f|
  File.basename(f, '.html.erb')  # renvoie 'layout' pour 'layout.html.erb'
}

0voto

Rishav Rastogi Points 12025

Je pense que la meilleure manière serait de stocker ces valeurs dans une base de données, laisser un utilisateur choisir parmi celles-ci.

Au lieu d'essayer de vérifier à travers ce qui a été suggéré dans le post précédent.

Utilisez un modèle de mise en page et laissez l'utilisateur choisir.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X