Sono stato un bambino cattivo e ho usato la seguente sintassi nei miei modelli parziali per impostare i valori predefiniti per le variabili locali se un valore non è stato definito esplicitamente nell'hash: locals durante il rendering del parziale -
<% foo = default_value unless (defined? foo) %>
Questo sembrava funzionare bene fino a poco tempo fa, quando (per nessuna ragione potevo discernere) le variabili non passate hanno iniziato a comportarsi come se fossero state definite nul (piuttosto che indefinite).
Come è stato sottolineato da varie persone utili su SO, http://api.rubyonrails.org/classes/ActionView/Base.html dice di non usare
defined? foo
e invece da usare
local_assigns.has_key? :foo
Sto cercando di modificare i miei modi, ma questo significa cambiare molti modelli.
Posso / dovrei semplicemente caricare in anticipo e apportare questa modifica in tutti i modelli? C'è qualche inganno che devo cercare? Con quale diligenza devo provare ciascuno?