2011-05-19 55 views
2

我有一個清理程序,通過在分叉進程中打開URL來重新加熱緩存。對這些URL的主機進行硬編碼是很容易的,但我希望它可以根據環境動態變化。如何在Rails清掃器中訪問指定路線?

我知道我可以爲此設置全局/環境變量,但我真的很想使用命名路線。有沒有辦法做到這一點?

(我要澄清,我試過只是把指定的路線在那裏,但他們沒有在運行時解決。)

回答

3

我發現的最接近的是:

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

它檢索:

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

但你與PARAMS,你應該把它合併:

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

結果:

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

編輯:

只需添加

include Rails.application.routes.url_helpers 

到類

+0

謝謝,這可能會在其他情況下有用,但對於這一個我真的需要的協議,主機,端口等 – glortho 2011-05-19 23:26:08

+0

剛編輯,希望這個答案更好 – apneadiving 2011-05-20 16:29:11

+0

放棄了可能,但只是重新訪問。謝謝! – glortho 2012-01-08 22:43:57