Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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 一位经验丰富的程序员,对如何从头开始编写rails应用程序感到困惑_Ruby On Rails_Ruby_Ruby On Rails 3_Design Patterns - Fatal编程技术网

Ruby on rails 一位经验丰富的程序员,对如何从头开始编写rails应用程序感到困惑

Ruby on rails 一位经验丰富的程序员,对如何从头开始编写rails应用程序感到困惑,ruby-on-rails,ruby,ruby-on-rails-3,design-patterns,Ruby On Rails,Ruby,Ruby On Rails 3,Design Patterns,我过去参与过几个RubyonRails项目,但我加入这些项目时使用了一个完全构建的rails应用程序,包括规范测试、工厂、模型、视图、控制器和一些自定义库。我做了数百次承诺来修复这些项目中分配的票证,并且我非常了解Rails MVC体系结构 但是现在是我需要自己从头开始创建Rails应用程序的时候了,尽管我有Rails的经验,但我没有信心开始 我最大的问题是,如何决定我将要创建的控制器,我创建的控制器的目的是什么,整个web应用程序的设计,现在有太多的事情在我脑海中运行,我就是无法理清 有没有人

我过去参与过几个RubyonRails项目,但我加入这些项目时使用了一个完全构建的rails应用程序,包括规范测试、工厂、模型、视图、控制器和一些自定义库。我做了数百次承诺来修复这些项目中分配的票证,并且我非常了解Rails MVC体系结构

但是现在是我需要自己从头开始创建Rails应用程序的时候了,尽管我有Rails的经验,但我没有信心开始

我最大的问题是,如何决定我将要创建的控制器,我创建的控制器的目的是什么,整个web应用程序的设计,现在有太多的事情在我脑海中运行,我就是无法理清


有没有人像我一样有同样的情况,或者以前遇到过同样的问题?

我将从一个教程开始,让您从头开始组装一个小系统,如下所示:

如果您已经完成了所有设置,可以跳到3.2


另外,请确保您正在使用版本控制软件,如果您不喜欢它的发展方向,请经常进行分支/恢复(我推荐像git这样的分布式版本控制系统,因为它们通常有更好的分支/合并)

启动新应用程序时,我通常会(在纸上)勾画出草图一个非常高层次的概述,我认为该应用程序的核心模型将是什么,以及它们如何相互关联。显然,随着应用程序在开发过程中的发展,这些可能会发生变化,但这是一个很好的起点

然后,从这个池中,我确定了对应用程序的用途最为“核心”的模型——我首先使用
railsgmodelname
生成该模型。例如:我最近正在编写一个酒店目录,并从
hotel
模型开始

然后,我应用一些非常基本的TDD方法,开始为该模型的单元测试编写规范,运行测试、构建、编写更多规范、重构等。随着位的就位,进行提交并继续。这样,如果你走错了路,很容易又回到一个健康的地方,你不必担心(那么多)犯错误

我通常会发现,从核心模型的单元测试开始,应用程序的其余部分就会自然地发展出来。一旦您决定进行功能和集成测试,您就应该非常清楚地了解所有部分是如何组合在一起的,以及您的用户应该如何在应用程序中“流动”的。这自然会引导您开发适合不同用户场景的控制器


最重要的是,练习是习惯从头开始的最好方法。构建一些具有明确结果的基本应用程序,比如博客或简单的日程安排工具。它将帮助您习惯这个过程,因此当您转向更大或更抽象的应用程序时,您将更擅长起步。

我认为这个问题太广泛了。也许您可以从应用程序的一个独立部分开始,在遇到问题时问一些特定的问题?