我對MVC應該如何工作仍然有些困惑。真實世界MVC - 處理形式
可以說我有一個網站賣小部件。我有一個列表頁面,/widgets/list
和產品頁面/widgets/product/123
。
這兩個都可以使用widget
控制器,並調用list
和product
方法 - 迄今爲止足夠簡單。可以說,我也有其他幾個控制器的各種事情。
現在我添加一個新聞快報註冊框到我的標題 - 即在網站的每個頁面上。 這是如何工作的?我知道它應該提交到/newsletter/signup
但是如果出現錯誤(說你沒有正確填寫你的電子郵件地址)會發生什麼?它應該顯示你所在的任何頁面(例如/widgets/list
),但newsletter
控制器需要運行。 widget
控制器不知道newsletter
控制器,所以我不能把代碼放在那裏......這應該如何工作?
編輯:沒有AJAX請 - 我更容易理解。考慮到這是JavaScript禁用時的回退。
編輯2:任何實例或教程涵蓋這種事情會非常讚賞
編輯3:是否允許的視圖調用一個動作?例如,標題可能會調用Newsletter->index()
如果我有一個包含10個控制器的現有網站,每個控制器有5個操作,這並不意味着如果我在報頭中添加了新聞簡報註冊,那麼我將不得不編輯50個功能。 – Greg 2009-09-16 14:30:34
那麼這將是它發佈到一個單獨的頁面的例外。大多數表單不會出現在多個頁面上,只有通訊,登錄和註冊等內容。總的來說,以上是非常有效的。 – ryeguy 2009-09-16 17:00:04