Rails应用开发体验(1)

前言
之前对Rails一直在了解层面,没真正动手做过(惭愧啊,几本Rails的书摆在书架中都2年了),这次要帮朋友做一个简单的应用系统,决定真正用一把Rails,在这里将开发过程中遇到的问题和一些经验记录在这里备忘,也给遇到相似问题的入门者一个参考,不打算写一个从0开始的一个入门说明,而是准备形成个一个入门实践FAQ,所以如果希望从这里从0开始入门开发Rails应用应用的读者还是华丽的跳过吧,随便弄本书比我这里写的全面多了;这里记录的问题也都是比较低级的,各位Ruby&Rails大侠也请华丽的飞过吧。

安装
没那么丰富经验,先按简单的来吧,在Windows平台上,使用 InstantRails整合安装环境。InstantRails最新版本为2.0,内部集成Ruby Rails Mysql等开发必须环境,一键安装,非常方便。
注意:
1. 如果Windows环境中有IIS服务,会与InstantRails中集成的Apache端口冲突,导致Apache启动失败。
2. 如果原系统中已安装过MySQL,会导致InstantRails中集成的MySQL冲突,导致MySQL启动失败。
3. IntstantRails2.0中集成的Rails版本为2.0.2,市面上Rails参考图书介绍的多数都是Rails1.x环境的示例,常见问题是按照参考书实现自动化scaffold失败和分页功能paginate错误

数据库初始化
InstantRails中的Apache和MysQL启动成功后,可以通过菜单Configure->Database(via PHPAdmin)登陆MySQL图形化管理界面,也可自己行通过IE访问
注意:
1. 创建数据库时使用字符集 UTF-8 general ci支持中文即没有问题
2. PHPAdmin手动访问地址 http://localhost/mysql
3. 集成的MySQL用户名root,口令为空

第一个问题 -- 自动Scaffold
按照书上的例子一步一步走下去,都还没啥问题,而且之前还有Grails应用开发经验,也算轻车熟路。但没走多远问题就来了,在Controller中声明自动Scaffold,程序华丽的报错
undefined method `scaffold' for AdminController:Class
class AdminController < ApplicationController 
  scaffold :product 
end

上网一查,这类问题还真多,主要是Rails2.0版本已经不支持自动Scaffold了,自动Scaffold作为插件需要额外安装,详细解决办法网上好多,我就不复述了。反正我没装,既然2.0不支持了就不用了呗,一定有更好的替代方法。

第二个问题 -- 新的静态Scaffold命令
动态不行用静态,没想到静态也跑不同,直接按书上的例子执行
ruby script/generate scaffold Admin

再次华丽的报错 wrong number of arguments (1 for 2)
原来又是Rails2.0版本的问题,生成静态Scaffold的命令已经变化,类似这样
ruby script/generate scaffold product name:string phone:string addr:string

这个命令会同时生成相关文件:
Model、Controller、Views、Tests、 migrate
凭当前我的理解,Rails2.0是推荐通过model指导产生数据表,而不是像书上写的那种Rails1.x顺序,先创建数据表,再产生model及action,还要进行model和action的绑定,应该是更敏捷了;

番外篇 -- 开发工具
羡慕Mac上的Textmate不是一年两年了,可惜没有足够的米入手任何带有Mac字样东西,干咽几口口水想想算了。
轻量级IDE
据观察,Windows上长的和Textmate最像的轻量级IDE有2款: Intype和e-texteditor,可惜Intype动力不足,太长时间没动静了;e-texteditor发展依旧火热,当前最新版本为1.0.39,网上已有破解,各位童鞋麻烦自己去找吧,直接公开发破解还得有点不好意思。本人开发即使用e-texteditor(有些关于Ruby&Rails的Bundles推荐更新到最新版本)

e-texteditor使用经验
1. 安装过程中弹出一堆警告,因为和Windows平台文件路径及命名规则不符合,全部Ignore即可,不影响使用。
2. 将e-texteditor中的setting->keep state between sessions选项去掉,可以增强启动速度,不会每次打开都加载之前打开的文件。
3. 通过菜单Bundles->Edit Bundles->Show Bundle Editor,将其中的JavaScript Tools中的最后一项Validate Syntax Quick快捷键(Ctrl+S)取消或重新设置,因为这项功能与平时保存文件快捷键冲突,而且要借助Cygwin环境,所以在编辑JS文件时,保存文件就会弹出要求安装Cygwin的对话框。重设这个快捷键就OK了。
4. Cygwin应该会大大增强e-texteditor功能,但我这里安装太费劲,好像东西很大,而且要安装哪些也不太知道,所以没有安装,不影响日常工作使用。

重量级IDE
NetBeans、RadRails、RubyMine,前2个工具都是免费的,直接download就可以用。RubyMine是JetBrains的产品,当前最新版本为2.0,据评价在几款重量级IDE中表现最为出色。RubyMine2.0网上也有破解版本了,但抱歉,不好在这里发布,各位童鞋请谅解。

开发环境准备介绍到这里吧,后面就该介绍真正开发中遇到的问题了,To Be Continue...

你可能感兴趣的:(mysql,敏捷开发,Ruby,Rails,rubymine)