Rails ミドルウェア スタックがあり、ActionDispatch の外部に MW の一部があります。理想的には、ActionDispatch を使用して内部の URL (通常の URL ルート経由ではアクセスできない) をトリガーしてページをレンダリングしたいと考えています。これは、Devise が「認証に失敗した」ページをレンダリングする方法と同様です。最善の方法は、アプリケーション内の特定のコントローラー アクションを名前でトリガーし、そのレンダリング結果を返すことです (ルートに含めずに)。
これを行うための標準的で現代的な方法は何ですか?
更新:
def call(env)
if user_from_env(env).free_accout?
InterestingPagesController.action(:how_to_signup).call(env)
else
@app.call(env)
end
end