2010-10-27 15 views
0

J'ai un code avant droite qui ressemble à ce qui suit dans l'un de mes modèles de erb:Pourquoi ce code lancer une ActionView :: TemplateError

if (<%= is_defined? foo %>) /* some javascript to do stuff with foo */ 

Y at-il une raison que le code est de lancer un ActionView :: Exception TemplateError indiquant `undefined local variable or method foo '? Je pensais que is_defined?() Devrait prendre soin de cela et ne pas essayer d'exécuter le code après avoir utilisé foo si elle n'est pas définie?

Répondre

0

c'est parce que vous définissez pas la méthode foo ou variable selon vous. Définissez-le. Vous ne générez pas de javascript. Vous générez du code ruby.