2011-04-09 91 views
0

我正在學習RoR,我已經閱讀了一些教程(第一個教程爲railstutorial), ,但我有一個問題來定義我的第一個簡單網站的邏輯佈局。Ruby on Rails簡單的網站佈局

結構爲:

當你去mysite.com你看到一個歡迎頁面,註冊表單或鏈接登錄。 如果您註冊或登錄該網站,則位於mysite.com/dashboard上,您會看到一條消息列表。 您可以轉到mysite.com/$username,然後您會看到一個頁面,其中包含一個可以爲$用戶名寫入消息的表單。

停止。而已。這很簡單,我知道,但是是爲了學習。

問題是這樣的:我是新來的MVC範式,我不知道如何結構我的應用程序的邏輯佈局。當然會有兩種模式:用戶和消息。但對於控制器?任何控制器中的哪些功能?我應該使用腳手架嗎? 請給我一個幫助,我很困惑。 謝謝。

回答

0

正如其他人指出的,您的控制器包含您的代碼的邏輯,並通過呈現或重定向到頁面來基於該邏輯調用視圖。您可以在控制器中定義所需的任何操作,然後使用路由將特定URL映射到控制器操作。話雖如此,如果你「順其自然」,並且對可能發生的行爲做出一些簡單的假設,Rails會變得容易得多。您的用戶和您的消息都代表其各自數據庫表中的行。對於數據庫表中的某行,您無能爲力 - 您可以創建它,讀取它,更新它或刪除它(CRUD)。如果您根據這四個邏輯操作定義您的操作,Rails允許您生成一些簡單的路線。

可以備份到您想要的任何URL模式,但你所描述的是:

  1. 閱讀是用戶在儀表板上
  2. 消息爲用戶創建一個消息你的時候轉到另一個頁面(mysite /用戶名)

這些都映射到您應該在控制器中定義的CRUD操作。

同意與其他建議,只是做更多的教程,可能會清除這一點。

1

控制器是數據的邏輯,所以登錄/註冊是真正的驗證/創建用戶,如果你需要查看用戶儀表盤,那麼這是一個查看用戶數據,所以他去那裏以及。

消息,這將是一個單獨的控制器,可以創建/查看消息!

+0

儀表板是一個函數嗎?我應該把它放在哪裏?另外,我怎樣才能使用這兩個控制器來獲取這個網址。感謝您的耐心。 – 2011-04-09 00:58:39

+0

你可以查看路由,但是說它的UserController和一個名爲Dashboard的方法需要一個userKey,你會看到host/User/Dashboard – 2011-04-09 01:00:49

+0

這是純粹的慣例,你可以在路由中改變它。因此,Dashboard也會返回html(rhtml),這將成爲您吐出用戶數據格式化的用戶界面的地方。 – 2011-04-09 01:01:40