フォークされたプロセスでURLを開くことによってキャッシュを再加熱するスイーパーがあります。これらのURLのホストをハードコーディングするのは簡単ですが、環境に基づいて動的に変更する必要があります。
このためにグローバル/環境変数を設定できることは知っていますが、名前付きルートを使用したいと思います。これを行う方法はありますか?
(名前付きルートをそこに配置しようとしましたが、実行時に解決されないことを明確にする必要があります。)
フォークされたプロセスでURLを開くことによってキャッシュを再加熱するスイーパーがあります。これらのURLのホストをハードコーディングするのは簡単ですが、環境に基づいて動的に変更する必要があります。
このためにグローバル/環境変数を設定できることは知っていますが、名前付きルートを使用したいと思います。これを行う方法はありますか?
(名前付きルートをそこに配置しようとしましたが、実行時に解決されないことを明確にする必要があります。)
私が見つけた最も近いものは次のとおりです。
Rails.application.routes.named_routes.get(:user).defaults
取得するもの:
{:action=>"show", :controller=>"users"}
ただし、これをパラメータとマージする必要があります。
Rails.application.routes.named_routes.get(:user).defaults.merge({:id => 1})
結果:
{:action=>"show", :controller=>"users", :id=>1}
編集:
単に追加する
include Rails.application.routes.url_helpers
あなたのクラスに
私はこれを現在のRails3.2ベータ版で修正しました: