アンセーフ コード評価用に設計されたクラスでルーティング ヘルパー文字列を評価しようとしています。基本的に、サンドボックス化されたクラスで文字列を評価するクラス SafeEval があります。SafeEvalでルートヘルパーを機能させるために、次のことを行いました
include ActionController::UrlFor
include Rails.application.routes.url_helpers
エンジン ルート プロキシを除くすべての ruote ヘルパーが機能しています。ビューとコントローラーで blog.page_path(@page) を呼び出すことができますが、SafeEval で blog.page_path を呼び出すことができません。ブログが定義されていません。ビューにチェックインすると、ブログは RouteProxy です。
だから私の質問は、ビュー/コントローラー外のクラスでエンジンルートプロキシを取得するにはどうすればよいですか
(SafeEvla は多くのサンドボックス化を行いません。非常に単純な構造を想定できます。現時点では、SafeEval クラス内で eval(str) を実行するだけのメソッドです。)