2016-03-13 22 views
1

是否有一個static_pages控制器,其唯一目的是在大型應用程序中呈現靜態頁面?以下面的情況爲例:擁有一個static_pages控制器是否合適?

您正在開發社交網絡應用程序並正在設計應用程序的設計。你知道你需要能夠路由一些頁面,例如:

  • 一個登陸頁面(對於非登錄用戶)的根路徑
  • 主頁/儀表板(用於登錄的用戶)在根路徑

我的問題是:你會定義一個static_pages控制器來處理着陸頁,後來,當認證系統到位,檢查是否驗證[使用者]和替換模板?或者你可能沒有這樣的控制器,選擇創建一個users_controller:before_action,檢查身份驗證,並重定向(失敗(讀取:未經身份驗證的用戶))到上述着陸頁?

根據the Rails tutorial by Michael Hartlstatic_pages控制器將是要走的路;然而,我的想法是,該教程適用於該框架的非常新的用戶,因此可能不會以簡單的名義使用最好的約定。

爲了處理這種情況,主要在大型應用程序(例如Twitter,甚至是StackOverflow)中使用什麼方法?

回答

1

是的,除非您在這些頁面上發生了重大事件,而這些頁面是特定的,否則擁有靜態控制器並沒有任何意義。最後,這一切都歸結於您個人的偏好,即如何讓您感覺舒適地構建您的應用程序,但是在專業環境中,並且在Twitter或StackOverflow的情況下,它們幾乎肯定不會有靜態控制器。假設Hartl的指導是面向初學者,並且旨在教授基礎知識,而不是更細緻的要點和慣例,那麼您是對的。如果您需要在靜態頁面上對用戶進行身份驗證,則Rails約定完全規定您將在users_controller中執行該身份驗證。

+0

感謝您在這裏照耀一些光。是否有一些地方可以閱讀關於Rails的慣例,或者它是一種後天的「感覺」(可以這麼說)? – jdersen

+0

@jdersen沒有官方的「規則手冊」,但谷歌搜索「Rails約定」會出現一堆未成文規則列表。正如你所說,這更像是一種後天的感覺。可能有許多事情,即使是專業的Rails開發人員也會反對。 –

相關問題