Comment puis-je corriger l'erreur 'Unprocessed view path found' avec le plugin ExceptionNotifier dans les rails 2.1?

Après la mise à jour d'un site Web de rails 1.2 à 2.1, le plugin ExceptionNotifier ne fonctionne plus, se plaignant de cette erreur:

ActionView :: TemplateFinder :: InvalidViewPath: chemin de vue non traité   a trouvé:   "/path/to/appname/vendor/plugins/exception_notification/lib/../views".   Définissez vos chemins d'accès avec #append_view_path, #prepend_view_path ou #view_paths =.

Quelles sont les causes et comment puis-je le réparer?

0
ajouté édité
Vues: 7

4 Réponses

En utilisant Mathematica et en utilisant des formules de réflexion pour Gamma on trouve:

x [n, b] = (b + 1) n/(n + b) G [n + b + 1]/G [n + 2b + 2]/(G [b + 1]/G [2b + 2 ] - 2 G [n + b + 1]/G [n + 2b + 2])

Now, observe that for b<-1 the quotients G[n+b+1]/G[n+2b+2] tend to infinity as n->oo (this follows from Stirling's approximation). Accordingly, for such b,

x[n,b] -> (b+1)/(-2)

which is what you predicted. I don't think that b>-2 is needed.

Pour prouver la formule ci-dessus à la main (ou pour voir pourquoi un ordinateur peut le faire), vous pouvez jeter un oeil à la méthode WZ (le livre A = B de Petkovsek, Wilf et Zeilberger est une introduction merveilleuse et gratuite) .

3
ajouté
C'est génial. Il est facile de vérifier votre réponse à partir de la relation récursive pour x_n. Graham
ajouté l'auteur Graham Jones, source

Cela ressemble à un problème impliquant des fonctions hypergéométriques. Si vous énoncez votre problème en notation hypergéométrique standard, vous pourrez peut-être rechercher votre réponse. Voir Abramowitz et Stegun's Handbook of Mathematical Functions ou la section fonction hypergéométrique sur le site de Wolfram.

0
ajouté

Cela a été causé par un changement dans les rails 2.1 qui empêche les rails de charger des vues depuis n'importe quel chemin arbitraire pour des raisons de sécurité.

Il y a maintenant une version mise à jour du plugin sur github, donc la solution est de l'utiliser.


L'ancienne solution ici pour la postérité

Pour contourner ce problème, éditez init.rb sous votre répertoire vendeur / plugins / notification_exception et ajoutez le code suivant à la fin

ActionController::Base.class_eval do
  append_view_path File.dirname(__FILE__) + '/lib/../views'
end

Cela ajoute le dossier views des plugins ExceptionNotifier à la liste, il est donc autorisé à les charger.

0
ajouté
merci, je dois garder vieux plugin si l'ancienne solution si assez pratique pour moi
ajouté l'auteur Lukas Stejskal, source

Vous devriez passer au nouveau plugin de notification d'exception qui se trouve dans sa nouvelle maison sur GitHub .

0
ajouté