2011-08-09 51 views
2

我已經在我的路線底部以下文件:如何在route.rb中重定向到root?

root :to => 'threads#index', :constraints => lambda {|r| r.env["warden"].authenticate? } 

的問題,這是URL僅僅是/不是/線程

我怎樣才能得到上面的重定向到線程#索引或/線程?

感謝

+1

我覺得你只是想對線程的默認行爲,然後,在這種情況下,您可以添加'資源:threads'或'匹配「/線程」 =>「主題#index''到你的Rakefile。 除非你的意思是你想讓你的網站的根網址爲'/ threads'?在這種情況下,您可以將'config.action_controller.relative_url_root ='/ threads''添加到您的配置文件中。 –

+0

@Ankit Soni:爲什麼不寫一個答案(格式良好)而不是評論? – 2011-08-11 05:18:45

回答

2

如果我理解你的問題正確,你只是想你的站點的根目錄的URL更改從http://....com/http://....com/threads

在這種情況下,你只需要添加此行:

config.action_controller.relative_url_root = '/threads'

到任何標準的配置文件,如config/application.rbconfig/development.rbconfig/production.rb取決於您的應用程序是否在生產模式或開發模式。

有關於這對導軌引導一些更多的信息:here

編輯:

看來,上述方案可能無法正常工作。這是我自己嘗試的一個。您可以簡單地將所有預先存在的路線包裹在您的routes.rb文件中的範圍內。即:

scope "/threads" do 
    ..All your preexisting routes inside this.. 
end 

注意這將預先準備/threads在應用程式中的每一條路徑。如果您只希望root發生這種情況,那麼請確保只有root :to => ...行包含在範圍內。

這裏有範圍的一個簡單的解釋:here

相關問題