2011-06-29 28 views

回答

57

有同樣的問題,這個工作對我來說:

​​
+0

這是除了root_path(好),現在增加'ID = 1'到從其他地方應用時鏈接網址... – msanteler

+0

@MatthewD - 好奇,爲什麼你要的根本途徑指向一個ID? – BKSpurgeon

2

嘗試:

match 'pages/show/:id' => 'pages#show', :as => :root 

在Rails控制檯。 rake routes | grep root,應該顯示類似於:

root  /pages/show/:id(.:format)  {:controller=>"pages", :action=>"show"} 

希望有所幫助。

4

馬修的解決方案工作,但我認爲這是更具可讀性獲取的對象。例如,假設您要爲名爲「landing」的頁面執行Page#show操作。這是一個比較可讀:

root :to => "pages#show", :id => Page.find_by_name("landing").id 

從性能的角度來看,這種解決方案更糟糕的是,因爲它需要一個額外的數據庫查詢,但這種方法是更具可讀性,如果性能不高優先級。

19

截至Rails 4.0,你可以聲明根路徑是這樣的:

root 'controller#action' 
+1

但是,您如何將:id添加到路由中? – dlu

2

我使用Rails 5.1到主頁指向一個特定的博客。在配置/ routes.rb中我有...

root 'blogs#show', {id: 1} 

這根路徑指向/博客/ 1

我在一個博客網站我建立這樣做。第一篇博客將成爲主要網站博客以及主頁。 ?

乾杯