最近开始喜欢上了Rails,其实确切地说从1.2开始一直在关注,只不过一直没有沉下心来动手写代码来体验,借着手边原有的PHP项目打算用Rails逐步来改造,终于开始尝试了,正好Rails也发布了3.0.3版本,简单体验之下发现和之前的有了较大的不同,正在寻找国外的资料琢磨。

    言归正传,因为是逐步改造原有的系统,而不是从新开始一个项目,估计在相当一段时间内需要两个系统并行运行,改好一块上线一块(也符合敏捷开发的思路哈),首先必须要面对的就是原来系统中大量的数据处理。众所周知Rails的敏捷是建立在其一定规范的MVC命名规则上的,例如rails g model post,会自动寻找数据库中名为posts的表,并默认以id作为主键。然而原来的PHP应用系统大部分表都不是这样命名,查了半天资料,终于在一本较早期的书《Rails CookBook》里查到了,虽然成书时的Rails版本还是1.x阶段,不过试了下在最新的Rails 3.x依然管用。
    方法如下:
    打开建立好的Rails模型,例如post.rb,在其中指定要使用的原系统表名和主键:
    class Post  < ActiveRecord::Base
      set_table_name "pb_blog"
      set_primary_key "blogid"
    end
 
存盘,就这么简单!
顺便小赞下,Rails3比原来方便多了,就以建立模型为例,原来需要输入
ruby script\generate model post
现在只需要输入
rails g model post
就OK了,大大减少了命令输入时的失误,真是越来越敏捷了