Rails の fields_for メソッドに機能を追加する Rails gem を作成していますが、どのフォーム ビルダーからでも呼び出せるようにしたいと考えています。物事を簡潔にし、(form_for、nested_fields_for などから) 継承可能にし、後方互換性を維持するために、fields_for メソッドをオーバーライドすることが最善の方法であると考え始めています。
私は以前にこれを行ったことがなく、いくつかの醜い問題を想像することができます。具体的には:
新しいフィールドで元の fields_for メソッドを (alias_method 経由で) 呼び出す必要があります。Rails が将来そのメソッドの動作を変更した場合、私の gem はすべての fields_for 機能を壊すと思います(?)
別の gem が fields_for をオーバーライドする場合、自分または他の gem の fields_for メソッドが無視されると思います (?)
一般に、既存の Rails メソッドを上書きするという考えはかなりずるいように思えます。
これは他の開発者が直面していることだと確信しています.レールメソッドを上書きする標準的なアプローチは何ですか? 優秀な開発者の間では大きなタブーですか? この種の問題に対する別のアプローチはありますか?簡潔でエレガントな解決策の試みをやめて、別のメソッド名で解決する必要がありますか?
任意の提案をいただければ幸いです。