Rails の使い慣れたヘルパーを使用したいのですが、機能が少し変更されています。私の見方では、次のようなことができるようになりたいです。
module AwesomeHelper
#... create alias of stylesheet_link_tag to old_stylesheet_link_tag
def stylesheet_link_tag(*args)
if @be_awesome
awesome_stylesheet_link_tag *args
else
old_stylesheet_link_tag *args
end
end
end
私の見方では、次の 3 つのオプションがあります。
- モンキー パッチ: Rails ヘルパー モジュールの再開。Rails チームがヘルパー モジュールの名前を変更した場合、私のコードは脆弱性の原因になります。克服できないわけではありませんが、理想的ではありません。
- 別のメソッド名を使用する: Common Rails インターフェイスに固執しようとすると、失敗する可能性があります。私の変更が他の開発者の混乱の原因になる可能性があります
- デタッチ方法 (新規):これが機能するかどうか、または 1 と同じ欠点があるかどうかは不明です。これについては調査しますが、これは良い出発点になる可能性があります。
ここでの質問は、これらの次善の解決策の 1 つに固執しているのか、それとも考慮していない別の方法があるのかということです。オプション 3 を選択する場合、Rails ヘルパー モジュールに直接対処せずにそれを行う方法はありますか?
(注:質問に何も追加しないため、コンテキストを削除しました。)