Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 有人能解释一下这个短语吗;胖型,瘦型控制器;?_Ruby On Rails_Ruby_Model View Controller - Fatal编程技术网

Ruby on rails 有人能解释一下这个短语吗;胖型,瘦型控制器;?

Ruby on rails 有人能解释一下这个短语吗;胖型,瘦型控制器;?,ruby-on-rails,ruby,model-view-controller,Ruby On Rails,Ruby,Model View Controller,我正在学习RubyonRails。我注意到这句话“胖模特,瘦控制器”。我不知道那是什么意思。这是否意味着我必须在模型中使用更多的代码,而在控制器中使用更少的代码?有人能解释一下吗?你理解得对。此建议的主要原因是您只需要流程请求参数并在控制器中初始化模型层。业务逻辑需要在模型层实现。这允许您避免代码重复,并使用模型的单元测试简化测试 同时,阅读并浏览整个网站,了解最佳实践 简而言之,是的,您的习惯用法是正确的,尽管如果任何具有已定义角色的代码片段变得臃肿,这可能是一个问题,并且可能需要一些基本的重

我正在学习RubyonRails。我注意到这句话“胖模特,瘦控制器”。我不知道那是什么意思。这是否意味着我必须在模型中使用更多的代码,而在控制器中使用更少的代码?有人能解释一下吗?

你理解得对。此建议的主要原因是您只需要流程请求参数并在控制器中初始化模型层。业务逻辑需要在模型层实现。这允许您避免代码重复,并使用模型的单元测试简化测试


同时,阅读并浏览整个网站,了解最佳实践

简而言之,是的,您的习惯用法是正确的,尽管如果任何具有已定义角色的代码片段变得臃肿,这可能是一个问题,并且可能需要一些基本的重新分解

模型中使用的业务逻辑可以在多个不同的路由、web服务API或命令行脚本中重复使用。它也可以在不调用web服务器的情况下进行单元测试

控制器中的相同业务逻辑只能通过web界面使用