2SIMPLE

我们已经回来

Ruby on Rails学习手记 – phase two

今天没有继续跟着Agile Web Development With Rails做那个depot,自己动手做了一个糗事百科的简版。昨天晚上看了RoR官网上David本人演示的15分钟创建blog的视频,一方面感叹RoR的敏捷,15分钟能搞一个blog,还写了测试用例进行了测试;另外一方面,觉得David在OSX上面那个编辑器真不错。虽然我也下载了edit+的ruby语法和自动高亮的插件,但是跟David那个没法比。

问tinyfool有什么IDE好推荐,他说Aptana不错,过去看了一下demo,的确很fancy,但是用作开发ajax的。想起来书里面好像推荐过几个IDE,找到了RadRails,不错。但是要配置两个东西才能好好工作:第一个是要在计算机属性、高级、环境变量里面增加一个path路径,不然会提示irb.bat无法执行,将x:\InstantRails\ruby\bin的路径加上去就好了;第二个是RadRails默认的语言编码有问题,中文乱码,RadRails>Window>Preferences>General>Workspace>Text file encoding>other UTF-8。现在RadRails里面new一个rails project,它会自动代替命令行的rails操作,在下面有generators和rake tasks两个输入框,可以用来代替ruby指令,servers可以启动某个project的webserver,启动之后可以直接用小地球图标预览网站了。(因为最近身体状况不好,懒得抓图了)

有了称手的工具之后开始尝试用RoR做一个翻版的糗事百科。首先创建project,然后创建一个qiushibaike_development库,然后创建model post,创建view和admin两个controller,然后db:migrate,db里面多出来一个posts表,用phpmyadmin在这个表里增加 content|created_at|up|down|ip_address|approved几个字段,然后scaffold一下创建几个测试帖子看看。

现面有了一个M:post,两个C:admin|view和一堆V。其实V一开始不用太在意,集中精力在C上面好了,C负责承上启下。糗事百科的业务逻辑很简单,用户可以匿名post,可以view approved_post,可以顶和拍;管理员可以view not_approved_post,可以approve。post还比较好办,到了顶和拍就麻烦了,各种教程都没有讲如何更新一条记录的某个字段(语法不熟悉啊),后来找到一个todo list的教程,搞定了,包括approve。正好这个教程里面还讲了如何把todo和done分开,可以用到approved筛选上面。

最后我折腾出来了一个可以匿名post,可以view、up、down,可以后台approve的超级简化版。还缺什么呢:

  • 管理员身份验证(看了一下typo的代码,挺麻烦的)
  • 不同排序的view,带分页(目前没有头绪中)
  • 最新随机糗事(没头绪)
  • 顶和拍优化为ajax(比较有头绪)
  • Feed生成(可以参考typo)
  • RoR代码优化(还差的远)
  • ……

用RoR开发东西,虽然可以“很快”,但是当需求变得相对复杂,需要login和排序之后,还是需要摸索和积累一些经验才能走下去的。

Written by Datou

十月 15th, 2006 at 10:04 下午

5 Responses to 'Ruby on Rails学习手记 – phase two'

Subscribe to comments with RSS or TrackBack to 'Ruby on Rails学习手记 – phase two'.

  1. 表提了,还是用eclipse或者那个RadRails吧!我在Mac上都不用David那个,据说中文支持很一般

    kernel1983

    2006/10/16 10:44

  2. 请问我用phpmyadmin时为什么最终出来的中文会变成乱码呢?

    啸风子

    2006/10/19 19:31

  3. TextMate新版讲解决双字节语言的兼容问题

    Datou

    2007/03/04 23:50

  4. 1

    1

    2007/03/13 21:08

  5. test

    1

    2007/03/13 21:08

Leave a Reply