2012-03-13 86 views
1

在Ruby on Rails中,MVC體系結構的設計方式是,控制器將接收請求並與模型交談以接收數據,並且控制器會再次查看以生成html。現在我的疑問是,爲什麼模型應答控制器,然後控制器來查看,而不是直接回複視圖生成HTML模型。爲什麼它不是這樣設計的?mvc體系結構ruby on rails

有人可以澄清?提前致謝。

回答

7

...模型直接回複查看生成html ...

如果明天什麼你需要生成JSON?然後XML?和其他10種格式?你會每次更新模型嗎?

模型,視圖和控制器有不同的責任。

  • 模型 - 業務邏輯。保存並加載數據。
  • 視圖 - 以特定格式呈現數據。
  • 控制器 - 兩者之間的中介。分析請求,認證/授權,詢問數據模型,使用該數據調用適當的視圖。

應該沒有視圖中的業務邏輯,在模型中渲染等,這有助於更好,更乾淨的代碼。

在我的假設示例中,您只需添加一個可以呈現數據的JSON表示的視圖。而且,可能需要在控制器中添加一行或兩行(通常您不需要)。模型保持不變。它關心的是數據持久性,而不是數據表示。