我开始使用Ruby on Rails并且我已经了解了一些东西,但我想知道是否有一种“正确”的方式来开发项目。现在,我首先使用[script / generate model MyModel]创建我的模型然后修改它们,直到我觉得它们足够完整。然后我会去[script / generate scaffold MyModel],所以我不需要为视图做那么多的编码。最后,我修改视图并添加更多模型,然后为我可能需要的其他功能添加一些支架。
有没有更好的方法呢?特别是在与团队合作开发项目的背景下?谢谢!
答案 0 :(得分:1)
我确信每个人都有自己的工作流程,但我认为一个典型的工作流程是这样的:
指定项目的“域名”。这可能听起来很愚蠢,但在开始之前,你应该考虑一下你的网站究竟会提供什么。它不需要具体到最后的细节,但应该有一个想法,以便您可以执行下一步...
设计数据库架构。我通常只是在纸上计划这个。创建规范化数据库是一门真正的艺术。想想在您的应用中需要“永久”的所有内容,因为它必须在数据库中并且考虑到尽可能少的重复。
在此之后我通常按照你的说法做:创建我的模型(以及沿途的迁移脚本)。您首先想要在模型中获得的主要内容是与其他模型的关联。
下一部分取决于您在Rails中作为开发人员的舒适程度。很多人都喜欢测试驱动开发方法(TDD),并且会编写单元测试(Rails提供了编写这些测试的优秀工具,以及运行它们的rake任务)。但是,由于您只是在学习,因此您可能希望在实现模型业务逻辑后编写测试。
此后的道路非常适合你。您可以根据需要处理视图/控制器/模型。这是Rails和敏捷开发的优点之一,你不需要很多锅炉板代码就可以开始使用。
我可能很奇怪,但我通常设计我的头版并获得一些基本的CSS,因为我发现如果我的结果看起来很漂亮,我会更有效率。
我可能会避免生成脚手架...我认为你会学到更多关于框架的知识,如果你自己生成单个部分,花更少的时间去除不需要的代码。
在与团队合作的背景下,事情可能会有所不同。如果你有很多复杂的业务逻辑,有些人可能会把大部分时间花在编写模型代码上,而更多设计方面的人则会实现视图代码。但是你必须在中间遇到,随着你的项目的发展和模块的变得越来越容易。只记得使用版本控制系统!颠覆,如果你想要一些易于使用和学习的东西,Git,如果你正在接受挑战。