2010-01-10 21 views
0

J'aime comment Rails me donne la flexibilité dans le nommage des fichiers de vue, à savoir index.erb ou index.html.erb faire essentiellement la même chose.Rails vues de façon incohérente

Le problème est que j'ai fusionné deux projets distincts, où l'on utilise filename.erb pour tous ses points de vue et l'autre utilise filename.html.erb.

Il semble que Rails n'attende qu'un seul schéma de nommage car je continue d'obtenir des erreurs de modèle manquantes pour les vues avec seulement l'extension .erb.

Puis-je contourner ce problème? Devrais-je même vouloir contourner cela? Ou devrais-je mordre la balle et renommer manuellement la moitié de mes fichiers de vue?

+0

Quelle plate-forme vous développez sur? Windows, Mac, Linux? Vous devriez renommer vos fichiers, mais nous pourrions être en mesure de trouver un petit script qui le fait pour vous. –

+0

J'utilise Windows, mon partenaire de développement est sur Mac, donc nous pourrions exécuter un script pour l'un ou l'autre. Bien que, nous avons déjà renommé les fichiers en '.html.erb' car nous préférerions utiliser ce schéma. Merci pour l'offre! – user94154

Répondre

1

Pour moi, il semble qu'il puisse y avoir un problème avec les conventions de nommage que vous utilisez.

Voir ce qui se passe lorsque vous choisissez une action qui ne fonctionne pas et essayez explicitement et rendre un modèle avec:

render :template => 'products/show' 

Où produits/spectacle »est le chemin à votre disposition dans le répertoire de vues . Si cela ne fonctionne pas, cela peut aider à localiser le problème.

Une autre chose à essayer est d'utiliser la déclaration de format à partir de votre action:

respond_to do |format| 
    format.html # index.html.erb 
    format.xml { render :xml => @products } 
end 

Les docs ici sont très explicites sur la façon dont les conventions par lesquelles docs sont trouvés. http://guides.rubyonrails.org/layouts_and_rendering.html

Espoir qui aide, David

+0

merci, je vais certainement jeter un coup d'oeil à cela et faire rapport! – user94154

0

Vous devriez vous en tenir à la convention de rails plus moderne de *.html.erb.

+0

C'est ce que nous avons décidé de faire, mais Rails ne s'attend toujours qu'à '.erb' et lance toujours des erreurs manquantes dans le template. Existe-t-il un paramètre que je peux modifier pour indiquer explicitement à Rails comment rechercher des modèles? – user94154

0

Utilisez-vous différentes versions de Rails? Les versions de Rails inférieures à 2.0 ne prendraient pas en charge le format .html.erb.

+0

non. essayé ceci à la fois sur 2.3.3 et 2.3.5. mêmes problèmes avec les deux. – user94154

Questions connexes