1

我是 Ruby on Rails 和整个 MVC 做事风格的新手。这个问题与其说是技术性的,不如说是概念性的。假设我有一些功能myFunction,我希望用户通过按下按钮从视图中执行。我应该在模型还是控制器中具有此功能?

4

3 回答 3

1

如果该功能与特定模型明确相关,例如“下订单”、“验证用户”,则将其放置在适当的模型上并添加少量控制器代码以创建/检索适当的模型并调用该方法。

如果它显然不属于您的一个模型,那么您可能需要为其创建一个单独的类或模块,并再次添加少量控制器代码。

为“瘦控制器和胖模型”做一些谷歌搜索,这是 Rails 项目普遍青睐的方法。例如,请参阅Jamis Buck 的这篇(旧的,但仍然有用的)帖子,或这篇更新的帖子

于 2012-09-11T17:08:12.613 回答
0

它应该转到控制器的方法,该方法使用模型来执行一些业务逻辑(不必与持久性连接)。或许,您还应该阅读 RESTful 应用程序和路由(有很多关于它的指南)。

于 2012-09-11T16:54:18.107 回答
0

控制器只需要输入和输出,即请求参数和响应/重定向。因此,根据您的说法,如果用户单击按钮并且myFunction应该进入画面。将调用myFunction 放在视图助手内部,并将函数myFunction放在模型内部。因此,您的视图也从代码中清除,并且 Skinny 控制器和 Fat 模型进入画面

于 2012-09-11T17:08:47.130 回答