1

在我的routes.rb我想將root_path設置爲'/'而不指定任何控制器或操作。那可能嗎?如何在沒有控制器和操作的情況下將根路徑設置爲'/'?

我試過root to: '/'但它抱怨沒有指定控制器或動作。

更新的信息:

我使用comfortable-mexican-sofa CMS,和我root_path應該去釐米的根路徑。

目前我只是在我的控制器中使用redirect_to '/',這個工作正常,但我認爲使用root_path會更好。

+0

? – dax

+0

我想你在這裏感到困惑。當你這樣做時:'root to:'home#index''這意味着你定義:'localhost:3000'來調用:「home#index」動作。你想做別的事嗎?也許? – Surya

回答

4

嘗試

root :to => "cms/content#show" 

從文檔:https://github.com/comfy/comfortable-mexican-sofa/wiki/Pages

您創建的第一個頁面是主頁,因此,你不能指定蛞蝓。默認情況下,您應該能夠訪問主頁而不指定根路由。但是,如果您或您使用的寶石需要訪問root_path幫助程序,請在您的路線中指定root :to => "cms/content#show"

1

繼公認的答案時,Rails的routes是所有關於爲應用程序創建

的路徑按照ActionDispatch::Routing middleware文檔:

路由模塊提供的網址在本地Ruby改寫。這是 將傳入請求重定向到控制器和操作的一種方式。這取代了 mod_rewrite規則。最重要的是,Rails路由可以與任何網絡服務器 一起使用。路由在配置/ routes.rb中

定義這意味着的routes.rb作業是取入站請求(//posts等)&重定向紅寶石爲中心的代碼。紅寶石不知道什麼/是 - 它controller/action組合

這就是爲什麼你需要這樣的:你想在哪兒根到一點,然後

#config/routes.rb 
root to: "controller#action" 
相關問題