首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails开发流程/顺序

rails开发流程/顺序
EN

Stack Overflow用户
提问于 2014-04-24 22:49:33
回答 4查看 845关注 0票数 3

现在大学毕业了,我的课已经结束了,我需要在这个夏天保持清醒的头脑。我已经决定尝试我的手做一个足够好的红宝石rails应用程序从开始到结束。

我以前试过这样做,但我经常遇到的问题是:“在那之前,我无法真正完成这件事,但似乎除非我完成另一件需要第一件工作的事情,否则它是行不通的。”

基本上,我的项目很快就失控了,因为我对该做什么和什么时候没有方向。

我的问题是,哦,伟大和明智的社区,是什么是开发rails应用程序的最普遍的方式。

我是从模型、视图还是控制器开始的?首先制作HTML还是编写服务器代码更好?做事情最好的方法是什么?

提前感谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-04-24 22:56:40

  • 设计
  • 决定要实现哪些功能
  • 决定您将使用哪些宝石来实现这些特性。
  • 以隔离方式配置和实现这些gems/功能--使用Git
    • 意识到你在这里花了很多时间。
    • 考虑修剪特性或简化设计。也许回到顶端去。

  • 开始编写您的主应用程序-使用Git
  • 将那些gems配置在一起-使用Git
  • 编写模型-使用Git
  • 尝试编写控制器和视图(使用脚手架开始工作,这样就可以进行更多的黑客攻击,减少编码)--使用Git
  • 在最后三个步骤中遇到一个问题,或者发现一个新特性,您必须实现它才能使一切正常工作。
  • 孤立地解决这个问题(在一个单独的rails应用程序中)--绝对使用Git
  • 重复

关于使用Git

Damien在评论中建议使用Git分支,而不是单独测试新工具。

我从一开始就使用带有Rails的Git,我建议使用Git分支单独测试新工具。

例如:您可以在这里看到我的一个公共Github存储库:https://github.com/spundun/emblem-coffee-emberjs-rails-starter-kit。这是一个简单的分支存储库,在这里,我记录了我要采取的每一步,以递增地塑造我的项目。

但是当使用一个新的工具或库时,很多时候都会出现故障,在本教程中,您将不知道为什么事情不能按照他们所说的方式工作。我是不是用错了图书馆的版本?Rails的错误版本?我有没有按错误的顺序添加工具?

为了理解这些问题,很多时候你会想要比较一个工作目录和不工作目录的工作目录,这意味着你需要两个工作目录并排。

当然,您可以通过将一个目录克隆到另一个目录中,并签出两个不同的分支来实现上述目标,但是我们正在超越我们自己。在与您正在使用的十几个宝石共存之前,您应该确保知道如何让它在最简单的情况下工作。意思是用香草的栏杆,与最起码的,是必需的。

因此,首先,您将使这个孤立的分支合并新的创业板到一个香草的rails应用程序。无论如何,这个分支与您的主要分支无关,只是它应该使用与您的应用程序相同的rails版本。您可以将其存放在同一个存储库或单独的存储库中,这并不重要。

一旦您确信它应该如何独立工作,就可以使用独立分支的提交日志跟踪所执行的所有步骤,并酌情将这些提交合并到主分支顶部的一个特性分支中。当您完成修复bug和使所有宝石协调工作时,您的特性分支已经准备好被拖到主分支中。

HTH。

票数 1
EN

Stack Overflow用户

发布于 2014-04-24 23:03:07

Rails社区大力提倡某种形式的测试驱动开发。当您刚开始的时候,开始编写测试可能是没有意义的,但是您仍然可以保持相同的方法。

所以,从本质上说,您只需要在浏览器中做您想做的事情,并在需要它完成时编写所需的内容。

因此,开始,只需生成一个新的rails应用程序并启动服务器。它将为您提供默认的Rails环境信息。您不希望它成为主页,所以您转到routes.rb文件并定义您的根地址(例如根'welcome#index')。

现在重新加载页面,得到“未初始化常量欢迎控制器”的错误。所以现在您需要一个控制器。添加控制器。

现在,您得到了一个错误“操作”索引,无法找到的欢迎控制器‘。定义WelcomeController上的索引操作。

现在,您得到了“缺少模板欢迎/索引”错误。添加视图/迎宾/index.html.erb视图。

等等

很快你就会发现自己需要模特。引用模型,因为您希望从视图中与其交互。例如,@articles.each do |article|等,您将得到一个‘未定义的零方法’或类似的方法。

然后定义您的模型,因为您希望在控制器中与它交互(例如,@articles = Article.all)。然后,您将得到一个错误,您的模型不存在。创建模型。

将属性添加到视图中需要的模型中。

重复这个过程..。

票数 2
EN

Stack Overflow用户

发布于 2014-04-24 23:07:22

我认为这是一个很好的问题,我希望在这里看到一些有洞察力的答案。在我看来,这是随着实践而来的,你会不断地在M,V和C之间切换。我认为模型通常是第一个实现的部分,因为它通常是由现实世界的问题域决定的,因此不那么流动和主观。然后是Controller和View。如果您只是在每次迭代中实现最小的工作部分,您就可以更快地看到结果,这有助于避免陷入困境。(虽然我喜欢预先定义模型中的所有字段)。

但要避免迷路,最好的办法就是后退一步,拿出笔和纸,用任何对你有用的符号,勾勒出系统中的主要工作流程和实体。让它简单一点,这样你就可以在一两页上,从头到尾地想象你的系统的主要功能。然后,当您实现时,这些设计可以作为您在构建中所处位置的映射。

当然,您也可以尝试预先指定系统测试(或rspec特性规范)来定义系统应该做什么。老实说,这对我来说从来都不管用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23281256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档