簡體   English   中英

Rails路由到根

[英]Rails routing to root

設置根路由時,是否有令人信服的理由選擇此語法:

map.root :controller => "login", :action => 'show'

在此語法上:

match "/" => "login#show"

第二種語法將允許您使用:constraints選項,第一種則不會。 有什么理由使用第一種選擇嗎?

當您使用root :to rails 3時,會自動創建輔助方法root_url和root_path來引用您的應用程序root。 這些方法通常在gems中使用,以引用您的應用程序根目錄,我實際上不確定這些指向何處,或者如果您不指定任何內容(從未嘗試過),它們是否甚至可以工作。 再加上這是做事“鐵軌方式”,因此通常最好遵循,除非您有充分的理由。

我認為根路由應設置如下:

root :to => "Something#index"

您建議的方法聽起來可能會在以后引起沖突。

在Rails 4中,可以使用以下更快的代碼:

 root 'login#new_session'

您可以將new_session替換為show / index / etc,只需確保在登錄控制器中定義它即可。

我認為以下兩個相同:

root :to => 'login#show'

match '/' => 'login#show', :as => :root

就像其他路徑一樣,如果您需要root_path ,那么對於match '/' ,您必須自己指定它。

因此,我認為他們只是做同樣的事情(如果路徑為/ ,則將您路由到login#show ),但是第一個將具有更多的語義含義。

暫無
暫無

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

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