簡體   English   中英

Rails 路由 (root:to => …)

[英]Rails Routing (root :to => …)

我知道如何將我的 rails 應用程序的路由根設置為 controller 和一個操作。

但是如何添加一個ID?

/pages/show/1應該是根目錄。

我該如何設置?

有同樣的問題,這對我有用:

root :to => "pages#show", :id => '1'

Rails 4.0開始,您可以像這樣聲明根路由:

root 'controller#action'

Matthew 的解決方案有效,但我認為獲取 object 更具可讀性。 例如,假設您要根到名稱為“landing”的頁面的Page#show操作。 這更具可讀性:

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

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

我正在使用 Rails 5.1 將主頁指向特定的博客。 在 config/routes.rb 我有...

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

這會將根路由指向 /blogs/1

我正在我正在構建的博客網站上執行此操作。 第一個博客將是主站點博客以及主頁。

干杯

嘗試:

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

在 Rails 控制台中。 rake routes | grep root rake routes | grep root ,應該顯示如下:

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

希望有幫助。

使用 Rails 5.1 將此添加到 config/routes.rb

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM