わかりにくいタイトルです。最初に私の問題を説明します。
このpolymorphic_url
メソッドは Rails 2.2.1 で変更され、私が必要とするいくつかの追加機能が含まれるようになりました。ただし、アプリケーションを古いバージョンの Rails でも動作させたいので、古いバージョンの Rails が実行されている場合に 2.2.1 の動作にパッチを適用したいと考えました。
alias_method_chain
救助に?私はそれを働かせることができません。
def polymorphic_url_with_compat(*args)
whatever...
return polymorphic_url(*args)
end
alias_method_chain :polymorphic_url, :compat
今、私は最初にこれをヘルパーに入れようとしました-それまでに定義されてalias_method_chain
いないため失敗します。polymorphic_url
そのため、同じコードをコントローラーに移動しましたが、エラーにはなりませんが、無視されます。次に、プラグインを使用して ApplicationController::Base にパッチを適用しようとしましたpolymorphic_url
が、まだ定義されていません。
polymorphic_url
モジュール ActionController::PolymorphicRoutes で定義されています。コントローラー/ビューにいつ/どこで混合されるかはよくわかりません。
このメソッドを希望の方法でラップするにはどうすればよいですか?