3

我是一名学生,一直在自己的时间学习rails。到目前为止,我能够开发只执行标准数据库操作的简单应用程序。目前,我正在尝试增加我的知识并了解如何制作真正“做事”的应用程序,而不仅仅是简单的数据库皮肤。

我决定看看一些开源的 Rails 应用程序,看看专业人士是如何做到的。该网站上推荐的其中之一是Tracks。我简要浏览了源代码,并对某些控制器的大小感到震惊。例如,todos 控制器超过 1400 行。这是正常的吗?这段代码是否应该被重构并放在其他地方?如果是这样,它应该放在哪里?或者,像这样拥有非常大的控制器是否正常?

4

2 回答 2

1

你会遇到不同的看法和不同的看法,“胖模型,瘦控制器”是一种流行的方法,也是 Ruby on rails 社区中许多人订阅的一种方法。在某种程度上,当对象提供某些属性和特征有意义时,模型中应该有很多代码。

从测试开始(如进行 TDD)有助于实现控制器中的内容和模型中的内容,因为它在创建测试时提出了正确的问题,谁/什么应该以哪种方式运行。

@dhh 在http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns中发表了一篇关于此的好帖子

于 2013-04-03T03:13:43.287 回答
1

一般来说,拥有这么大的控制器是不好的做法。

通常应尽可能将逻辑移至模型中。一篇很好的文章:http ://www.sitepoint.com/10-ruby-on-rails-best-practices/ 。

有一个名为“rails 最佳实践”的优秀 gem,我发现它对改进我的代码风格非常有帮助,https://github.com/railsbp/rails_best_practices。(相关页面,http://rails-bestpractices.com/posts/7 -将模型逻辑移动到模型中

于 2013-04-03T03:17:16.293 回答