質問

フォークプロセスでURLを開くことによってキャッシュを再加熱するスイーパーがあります。それらのURLのホストをハードコーディングするのに十分簡単なことですが、環境に基づいて動的に変更してほしいです。

私はこれについてグローバル/環境変数を設定できることを知っていますが、私は本当に名前付きルートを使用したいと思います。これを行う方法はありますか?

(私はちょうどそこに名前付きのルートを入れるだけでなく、実行時に解決しないことを明確にする必要があります。)

役に立ちましたか?

解決

The closest I found is:

Rails.application.routes.named_routes.get(:user).defaults

Which retrieves:

{:action=>"show", :controller=>"users"}

But you should merge it with your params:

Rails.application.routes.named_routes.get(:user).defaults.merge({:id => 1})

Result:

{:action=>"show", :controller=>"users", :id=>1}

Edit:

Simply add

include Rails.application.routes.url_helpers 

to your class

他のヒント

I fixed this in the current Rails 3.2 beta:

https://github.com/rails/rails/pull/3876

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top