这是建立数据库驱动网站的“红宝石之路”吗?

问题描述:

我写下了一个简单的文本文件中的脚本我要运行产生我的模型,我的Rails 3.2.1应用程序:这是建立数据库驱动网站的“红宝石之路”吗?

rails generate model Champion name:string title:string story:string smallpicture:string largepicture:string spotlight:string 

rails generate model Item code:int name:string description:string cost:string 

rails generate model RecommendedItems mapname:string item1:int item2:int item3:int item4:int item5:int item6:int champion:references 

rails generate model GoodAgainst reason:string champion:references 

rails generate model BadAgainst reason:string champion:references 

rails generate model Spell name:string description:string effect:string cost:string range:string champion:references 

rails generate model Tip tiptext:string champion:references 

rails generate model ChampionStat name:string value:string modifier:string champion:references 

rails generate model User summonername:string email:string password:string confirmpassword:string location:string canvoteonfavoritechampion:boolean 

rails generate model FavoriteStream url:string user:references 

rails generate model ChampionRanking startweek:datetime endofweek:datetime champion:references 

rails generate model CustomBuilds item1:int item2:int item3:int item4:int item5:int item6:int champion:references 

现在,我意识到,我可以运行生成脚手架,但我想我将首先运行模型,然后在需要的基础上添加脚手架。这可能吗?

这是您创建Ruby on Rails应用程序的方式吗?我在纸上绘制了数据库并创建了外键关系,并使用foo:引用记号来记录关系。

这是正确的吗?

假设你的命令的语法是正确的,没有什么客观的错,你在做什么,但我不认为这是Rails的是为了使用方式。

你在做什么不是agile。在敏捷编程中,您专注于早期和经常提供工作软件。因此,您只需制作最少数量的表格和列即可获得前几个功能。然后,一旦你完成了这一步并将其展示给你的客户/用户,你将决定接下来要添加哪些功能并添加你需要的表和列。最终你会有一个完整的应用程序。

我认为这种做法有一定的好处,因为你可能会在这有助于提高项目的后期,你的决定了项目的早期阶段学习有关数据库设计的一些事情。

我建议你阅读Agile Web Development with Rails如果你想看到怎样的应用程序将被开发这样一个例子。

另一个好的做法是test-driven development。这个想法是你应该只写代码来修复破碎的测试。看起来你没有那样做。

这绝对是创建Ruby on Rails应用程序的一种方法。

取决于开发人员,应用程序的复杂程度以及设计已完成的程度。要开始,您可以直接从现有数据库加载架构,然后为每个关系创建模型(我的首选项,只要您知道Rails命名约定)。关系可能变得复杂,因此生成模型并不总是最理想的选择。

供参考:瑞安有一个方便的宝石生成脚手架,布局文件,身份验证,等等。 https://github.com/ryanb/nifty-generators