`

开始Rails2.0项目需注意的方面

阅读更多
Rails 2.0已在07年底发布了,新版本做了很多改进和完善;但也给新学习和掌握新的特性带来了一定的困惑,下面简要说要一下开发过程中应注意的问题:

1.  Rails 2.0开始缺省的数据库Adapter由MySql变为了Sqlite3;如果你要继续使用MySql或其它的数据库,你需要手动更改项目目录中的"config/database.yml"文件,或执行"rails project_name --database==mysql"命令进行设置.

2.Rails 2.0初始建立数据库时,需执行"rake db:migrate:all",而不是1.x的"rake db:migrate".

3.  Rails 2.0简化了MVC开发所需的操作的步骤;Rails 1.x进行开发的时候,你需要"ruby script/generate model model_name","ruby script/generate controler controler_name"等步骤,还要添加相关的scaffold方法;Rails 2.0只需要"ruby script/generate scaffold Model_name"一步,就会生成model,数据库脚本,controler,helper,相关的scaffolding和测试脚本.真正体现了Web 2.0下的敏捷和效率.而且你若以1.x的方式开发Rails 2.0,在运行服务器后,会产生"undefined method `scaffold'"等错误;后台也会抛异常.

所以Rails 2.0的简单步骤现在能简化为:

   1. rails project_name
   2. cd project_name
   3. config database
   4. rake db:create:all
   5. ruby script/generate scaffold Model_name
   6. design table scheme
   7. rake db:migrate
   8. ruby script/server


4. ......
分享到:
评论
10 楼 ashchan 2008-03-30  
lgn21st 写道
这里想问大家,大家在rails开发中经常用到scaffold?


赵到后头用得赵少。
9 楼 carlosbdw 2008-03-27  
>个人觉得开发一个Rails项目不要老挂念着Scaffolding,

我觉得一个项目最好多多用Scaffolding,如果你不用,有两个可能:
1,你在重复发明轮子
2,当前的Scaffolding还很不完善
8 楼 longgue 2008-03-05  
引用
这里想问大家,大家在rails开发中经常用到scaffold?


Scaffolding可以作为jumpstarts,或作为初始编码的模板手段,就像可以用Eclipse IDE产生对象的get和set方法,或用Xdoclet进行开发一样;

个人觉得开发一个Rails项目不要老挂念着Scaffolding,当然你觉得有必要用的时候可是用它.它只不过方便的工具或手段而已;Rails真正强大的是它的设计理念和由此带来的效率.
7 楼 baxiaopeng 2008-03-05  
lgn21st 写道
这里想问大家,大家在rails开发中经常用到scaffold?


我经常用到。
6 楼 Puras 2008-03-05  
引用
rails project_name --database==mysql



可以简写成:
rails project_name -d mysql
5 楼 neodoxy 2008-03-05  
lgn21st 写道
这里想问大家,大家在rails开发中经常用到scaffold?

并不经常用到,也完全不够用,也并不是每个MODEL都需要CONTROLLER和VIEW
4 楼 lgn21st 2008-03-04  
这里想问大家,大家在rails开发中经常用到scaffold?
3 楼 longgue 2008-03-04  
是"rake db:create:all",粗心写错了,多谢纠正.
2 楼 neodoxy 2008-03-04  
2.0的scaffold的就是1.X的resoucre_scaffold,会在router.rb里添加REST的路由规则,并不是楼主所说的功能
另外migrate没有all这个选项,可以通过rake db:migrate RAIL_ENV 环境变量选择切换迁移环境
1 楼 haiyang 2008-03-04  
第二条有误,应该是:
rake db:create:all

相关推荐

Global site tag (gtag.js) - Google Analytics