0

私が抱えている問題を解決する方法についての提案を探しています。関数のDBチェックを実行するフィルターがありpostFilterます。フィルタは基本的に、電子メールを生成する必要があるかどうかを確認し、サイト管理者が設定したテンプレートを送信します。この機能は期待どおりに機能しています。

私が抱えている問題は、アクション内でのみ公開される特定のデータを電子メールテンプレートに渡す必要があるアクションがいくつかあることです。私の最初のアイデアは、フィルター関数からアクセスできる配列の形式でシステムパラメーターに必要な値を割り当てることでした。これに関する問題は、追加のデータを渡す各アクションを文書化することです。

もっと洗練された解決策があるかどうか疑問に思っています...システムをユーザーにとって可能な限り柔軟に保ちたいので、ユーザーがpreFilter必要な情報をに渡すことができるアクションのキャッチを設定できる方法があればpostFilter

皆さんありがとう。

4

1 に答える 1

1

データはアクション内で生成されるため、最終的に電子メールを送信するコードがデータを利用できるようにするために、アクション何らかの形で協力しなければならないという事実を避けることはできません。したがって、「アクションXがデータYを公開する」ことを文書化する必要がないことがどうして可能になるのかわかりません。

非常に単純ですが、同時に非常に適切な解決策は、ベース コントローラーにsetContextData/関数のペアを配置することです。getContextDataアクションがデータを設定し、ポストフィルターがそれを読み取ります。

于 2012-10-24T14:03:41.467 に答える