Ich war ein böses Kind und habe in meinen Teilvorlagen die folgende Syntax verwendet, um Standardwerte für lokale Variablen festzulegen, wenn beim Rendern des Teil-Hashs kein expliziter Wert im: local-Hash definiert wurde.
<% foo = default_value unless (defined? foo) %>
Dies schien bis vor kurzem gut zu funktionieren, als (ohne Grund, den ich erkennen konnte) nicht übergebene Variablen sich so verhielten, als wären sie auf Null (anstatt auf undefiniert) definiert worden.
Wie von verschiedenen hilfreichen Personen auf SO erwähnt, sagt http://api.rubyonrails.org/classes/ActionView/Base.html , nicht zu verwenden
defined? foo
und stattdessen zu verwenden
local_assigns.has_key? :foo
Ich versuche, meine Methoden zu ändern, aber das bedeutet, viele Vorlagen zu ändern.
Kann / sollte ich einfach im Voraus aufladen und diese Änderung in allen Vorlagen vornehmen? Gibt es irgendwelche Schwierigkeiten, auf die ich achten muss? Wie sorgfältig muss ich jeden einzelnen testen?