12
rails部分テンプレートのオプションのローカル変数:(定義された?foo)混乱からどうやって抜け出すのですか?
私はひどい子供であり、部分テンプレートをレンダリングするときに値が:localsハッシュで明示的に定義されていない場合、部分テンプレートで次の構文を使用してローカル変数のデフォルト値を設定しました- <% foo = default_value unless (defined? foo) %> これは最近まで正常に機能していたようで、(理由がわからない)渡されなかった変数が、(未定義ではなく)nilに定義されているかのように動作し始めました。 SOのさまざまな役立つ人々によって指摘されているように、http://api.rubyonrails.org/classes/ActionView/Base.htmlは使用しないように言っています defined? foo 代わりに使用する local_assigns.has_key? :foo 私は自分のやり方を修正しようとしていますが、それは多くのテンプレートを変更することを意味します。 前払いして、すべてのテンプレートでこの変更を行うことはできますか?注意が必要な注意点はありますか?それぞれをどれくらい熱心にテストする必要がありますか?