最佳实践:放置从视图调用的函数的位置

时间:2012-09-11 16:48:53

标签: ruby-on-rails ruby-on-rails-3

我是Ruby on Rails的新手,也是整个MVC风格的做法。这个问题不是技术问题,而是概念问题。假设我有一些函数myFunction,我希望通过按下按钮让用户从View执行。我应该在模型或控制器中使用此功能吗?

3 个答案:

答案 0 :(得分:1)

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

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

为“skinny controllers and fat models”做一些谷歌搜索,这是Rails项目普遍偏爱的方法。例如请参阅Jamis Buck发表的this(旧的,但仍然有用)帖子,或this more recent post

答案 1 :(得分:0)

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

答案 2 :(得分:0)

控制器只需要输入和输出,即请求参数和响应/重定向。因此,根据您的说法,如果用户点击按钮,myFunction应该会出现。将调用myFunction置于视图助手中,将函数myFunction置于模型内。因此,您的View也可以清除代码,并且Skinny控制器和Fat模型会出现在图片中