J'ai des problèmes avec les rails 3 et Haml dans ma demande: Pour certaines raisons, les rails ne semblent pas charger le gestionnaire pour traiter des fichiers HAML. Chaque action donne un message d'erreur similaire à celui-ci:
Modèle manquant contact_search / index avec {: formats => [: html], : Handlers => [: rjs ,: rxml ,: rxml ,: Builder ,: erb] ,: Locale => [: EN ,:]} in View chemins "/ var / www / ovononebook / app / vues", " /var/www/osphonebook/vendor/bundle/Ruby/1.8/gems/Devise-1.3.4/App/views"3/p>
Les options "Handlers": il n'a pas: Haml ... p>
Ce qui est que cela ne se produit que pendant le mode de production sur le serveur mis en place par mon entreprise. Sur le développement et les modes de test, cela fonctionne bien. De plus, si je démarre l'application en mode de production sur mon PC de développement, cela fonctionne. P>
Quelques informations sur le serveur: p>
Mise à jour (6/6/2011): Mise à niveau vers Ruby 1.9 forte>, et elle ne fonctionne toujours pas. p> Si plus d'informations est nécessaire, veuillez commenter la question et je vais le mettre à jour. Merci pour toute aide. P> p>
4 Réponses :
Essayez avec le gemme haml-rails p>
J'ai vu que les gens utilisent les deux gemmes «haml-rails» de GEM avec succès. Je pense qu'ils sont les mêmes, mais les documents officiels disent à utiliser le GEM 'Haml'.
Ils ne sont pas les mêmes. Haml-rails fournit des générateurs et active HAML dans les rails. Cela devrait fonctionner sans cela, mais l'utilisation peut être une solution rapide pour son problème.
Merci pour la suggestion, je viens de l'essayer, mais malheureusement, cela n'a pas fonctionné. L'erreur "modèle est manquante" continue toujours. @Trenton de ce que j'ai vu de la source sur GitHub, Haml-rails ajoute des générateurs et définit quelques options de base pour le vrai gemme Haml.
Après toute une journée de réécriture des portions de code, 20 manières différentes d'essayer toutes sortes - cela résolue mon problème sur Heroku! Quelque chose que je ne pouvais pas reproduire localement --- Merci Michaël
J'ai trouvé le problème: j'avais changé le fichier au lieu de faire comme ceci: p> Il apparaît que l'utilisation de La classe ActionMailer a autorisé directement les chargeurs d'actionsView et définit toutes les variables internes, empêchant ainsi le code HAML de s'installer. P> Après avoir changé le code, il fonctionnait comme un charme. P> P> config / environnements / production.rb code> pour définir un code personnalisé pour l'action ActionMailer. La chose est que j'utilisais directement la classe, comme ceci:
@Sam j'ai vu quelque chose que le nouveau "config.action_mailer" Sintax est préféré à l'ancien, avec définissant la configuration directement dans la classe. Mais après avoir essayé tant de choses pour le faire travailler, c'était la plupart de la chance et du désespoir ...
ajoute à (Notez que j'utilise des rails 3.2.2) p> p> config / test.rb code> (et / ou
développement.rb code> et
production.rb code>) Fixez-le pour vous? p>
J'ai trouvé la solution à l'erreur "Modèle de HAML manquant" lors de l'exécution en mode de production (Utilisation des rails 3.2.6 et haml-rails 0.3.4):
in i Changé ceci en p> et maintenant ça marche. p> p> /config/application.rb code> Il a p>
Merci pour le conseil. J'ai eu le problème dans un moteur en train de développer avec une application factice, et j'ai eu le gemme Haml dans un groupe dans le gemfile. J'ai changé bundler.require code> à
bundler.require (: défaure, rails.env,: mannequin_app) code> et cela résoudra.
Pour l'erreur que vous avez postée, quel est le nom de fichier exact de votre modèle de vue?
Aussi, avez-vous mis à jour votre paquet et redémarrez le serveur sur votre machine de production?
@dmarkow merci pour les commentaires. Le nom du fichier est app / vues / contact_search / index.html.haml et oui, le serveur a été redémarré après le paquet.
Ne mettez pas Haml dans le groupe Actif. B> Les gemmes dans le groupe d'actifs ne sont pas incluses dans la production par défaut. Je sais que vous avez déjà trouvé une solution, j'espère juste arrêter quelqu'un tomber dans le même piège que moi. I>
De même, vous ne faites pas que mettre des rails Haml dans le groupe: Développement Gemfile Group, je rencontrais des tests automatisés, donc je devais inclure également Haml-rails dans: Test également.