2009-08-16 9 views
0

J'essaie de séparer les vues des différentes plates-formes en différents sous-dossiers.Déclaration de modèle pour rechercher dynamiquement des vues dans RoR

Je l'ai fait pour la mise en page, au moment où je donne les résultats suivants:

classe MoviesController < ApplicationController
      mise en page: site_layout

      def site_layout
            si (iphone_request?)
                  "iPhone/films"
            autre
                  "films"
      fin

Cela signifie que dans mes méthodes d'action, je n'ai pas besoin d'inclure: layout, mais j'ai toujours besoin d'inclure manuellement le chemin vers le modèle.

format.iphone {render: template => 'films/iPhone/index'}

Est-il possible d'avoir le même genre de déclaration de mise en page, mais pour les modèles?

Merci

Ben

Répondre

0

Vous pouvez étendre le view_paths afin de pouvoir disposer d'un sous-dossier iphone spécial sous les vues et remplacer les modèles si nécessaire. Voir this tutorial sur la façon de le faire.

Cependant, existe-t-il une raison pour laquelle vous ne souhaitez pas utiliser le format iphone dans le nom de la vue (show.iphone.erb) au lieu de créer un sous-dossier? Voir martinkl's answer dans votre autre question pour plus de détails.

+0

La raison est parce que je ne veux pas que mes répertoires soient /films /new.html.erb /new.iphone.erb /new.wm.erb /new.js.erb Recherché pour essayer de les séparer un peu dans les sous-dossiers ... –

0

je pourrais être au large, mais peut-être que ça va aider - essayer de vérifier prepend_view_path.

Questions connexes