【问题标题】:mvc architecture ruby on railsmvc 架构 ruby​​ on rails
【发布时间】:2012-03-29 17:26:46
【问题描述】:

在 Ruby on Rails 中,MVC 架构的设计方式是,控制器将接收请求并与模型对话以接收数据,然后控制器将与视图对话以生成 html。现在我的疑惑是,为什么要model回复controller再controller给view,而不是model直接回复view生成html。为什么不是这样设计的?

有人可以澄清一下吗?提前致谢。

【问题讨论】:

    标签: ruby-on-rails model-view-controller architecture


    【解决方案1】:

    ...模型直接回复视图生成html...

    如果明天你需要生成 JSON 怎么办?然后是 XML?还有其他 10 种格式?你会每次更新模型吗?

    模型、视图和控制器具有不同的职责。

    • 模型 - 业务逻辑。保存和加载数据。
    • 查看 - 以特定格式呈现数据。
    • 控制器 - 两者之间的中介。解析请求、进行身份验证/授权、向模型询问数据、使用该数据调用适当的视图。

    视图中不应有业务逻辑,模型中不应有渲染等。这有助于更好、更简洁的代码。

    在我的假设示例中,您只需要添加一个可以呈现 JSON 数据表示的视图。并且,可能会在控制器中添加一两行(通常您不必这样做)。模型保持不变。它关注的是数据持久性,而不是数据呈现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      • 2018-11-20
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      相关资源
      最近更新 更多