2008-10-23 59 views
0

在我正在開發的一個項目中,Apache設置爲僅轉發以/ prefix/*形式出現在雜種中的請求。我如何告訴ruby在rails上生成所有帶有這個前綴的URL?我可以在Ruby on Rails中使用url_for前綴選項嗎?

我必須這樣做向前設置到正確的控制器行動路線:

map.connect 'sfc/:controller/:action' 

,但似乎並沒有影響到該URL作家生成URL的方式。

任何想法?

回答

1

Mongrel接受一個--prefix選項,然後將其前置到所有生成的URL。這是我知道能夠在一臺服務器上運行同一應用程序的多個實例的唯一途徑。

+0

Rails 2.3+更改打破了雜項中的--prefix選項,並且尚未更新。您將不得不自己修補代碼以使其正常工作。 – 2009-05-15 18:41:59

2

RAILS_RELATIVE_URL_ROOT環境變量應該做的伎倆,雖然我沒有嘗試過自己。

1

怎麼樣使用:選擇串流中:

map.connect ':controller/:action', :path_prefix => 'sfc' 
2

你可能有另一條路線(在routes.rb中底部的默認路由大概一個)URL生成是使用優先於sfc-前綴匹配。舉例來說,如果你有

map.connect "sfc/:controller/:action" 
map.connect ":controller/:action/:id" 

然後url_for(:controller => 'x', :action => 'y', :id => 3)將返回"/x/y/3"。如果將其更改爲

map.connect "sfc/:controller/:action" 
map.connect "sfc/:controller/:action/:id" 

您應該得到"/sfc/x/y/3"

相關問題