2006年11月30日

"Agile Web Development With Rails"看到第100页了

第一次看英文书,看了这么多,现在已经有了一些看英文书的习惯了:)
目前刚用rails做了两个小例子,对rails有如下体会.
  1. 两个有趣的概念migration和scaffold
    1. migration的字面意思的迁移,在rails里面主要用在数据库方面.无论是建立多个数据库(开发库,测试库,产品库)还是对库的数据结构做调整,对库中的数据做变动,只要不是自己的程序去做的,都归结到migration里面,而且rails通过一种操作规范把所有操作过程记录下来,这对于以后的部署和测试,我感觉是特别有帮助.在库中有一张schema_info表,这是rails自动生成的,它记录了当前migration的版本.
    2. scaffold提供了一个快速的工具,目前我的体会是,它可以通过你建立的表,直接生成相关的其他代码,从而提供一套web界面来让你直接通过浏览,增,删,改表里的数据.
  2. 方便的工具/script和rake.
    1. /script是在应用下的一个目录的名字,这个目录下存放大量的脚本,这些脚本是你生成代码的工具,当然它本身也是rails自己生成的.目前我用到了
    • ruby script/server --启动web服务器
    • ruby script/generate controller 控制器名称 --建立一个controller
    • ruby script/generate model 表名 --建立一个数据库的表
    • ruby script/generate migration 数据库变动名 --建立一次对数据库操作(非程序操作)
    • ruby script/generate scaffold product admin --根据model,controller生成scaffold实际的代码.
    1. rake目前看是rails一个很重要的工具,主要是做数据库方面操作命令比如
    • rake db:migrate,它就是实际执行前面"ruby script/generate migration"生成的代码的,而且他里面还有版本的概念你还可以用rake db:migrate VERSION=??让数据库到恢复一个特定版本的情况.对于rake还有很多别的功能,目前我没用到,暂时不提.
  3. MVC严格的结构特征
    1. 对于一个应用来说,应用系统的目录是已设定的,目录的用途已经按照MVC的形式做了规范,目录中的代码通过rails内部的机制做连接,按照默认的格式和用途很容易使用

没有评论: