2009-07-20 15 views
0

MonoRailコントローラでは、Helper属性を使用してhelpersをビューで使用できるようにすることができます。おそらく設定ファイルや依存関係注入を介してヘルパーをコントローラに登録する別の方法がありますか?私は、ヘルパーを提供し、さらに別のコントローラをコントローラ階層に追加する目的のために、ベースコントローラの作成を避けることに熱心です。MonoRailのコントローラでヘルパーを登録する別の方法はありますか?

答えて

3

IControllerContextにはヘルパー辞書があります。すべてのコントローラーは、ControllerContextプロパティーを介してIControllerContextを公開します。

もう1つの方法は、IHelperDescriptorProviderを実装して、デフォルトのもの([Helper]属性のヘルパー記述子を読み込む)を置き換えることです。あなたの実装は、ヘルパー設定をあなたが望むような設定から読むことができます。

+0

私は自分自身を実装し、それを達成するためにヘルパー辞書を使用することを考えていました。しかし、登録の世話をする既存の作品はありません。 –

+0

「登録の世話をする既存の作品はありません」という意味は理解できません。ヘルパーを登録するオプションを追加しました。 –

+0

私は既に既存のもの(MonoRailの施設、サービス、拡張機能、あなたが持っているもの)が存在していて、すでにヘルパーを別の方法で登録できるのかどうか疑問に思っていました。私はおそらく自分の建物を完成させるでしょう。 IHelperDescriptorProviderは有望です。 FormHelperと友人を私の実装を通して追加しなければならないデフォルトのものを置き換えるなら、私はそれを取るでしょうか? –

関連する問題