Ruby 板


LINE

我真的被 rails plugin 吓到了。这几天试着做 web development, 大家应该都知道我跟这个领域不太熟吧?可是,忽然间我觉得,这样几乎什麽都能做了。 三个 plugin, 依照我尝试的时间顺序: 1. FileColumn http://www.kanthak.net/opensource/file_column/ 2. LoginGenerator http://wiki.rubyonrails.org/rails/pages/LoginGenerator 3. Active Scaffold Upload Branch http://wiki.activescaffold.com/wiki/show/Active+Scaffold+Upload+Branch 由於一开始使用 FileColumn 碰到了点问题,所以我有稍微 trace 他的 code, 基本上这个 plugin 我觉得算是小玩具,很简单的小功能,居然没内建到 rails 中 我觉得有点奇怪。毕竟 binary file 一般都是存到 file system 而非 db 中吧? 搭配 rmagick 的感觉还算不错,可惜 helper 似乎不太健全,虽然堪用了。 接下来碰到需要 auth 的部份,懒得自己写,因为只是小地方需要,并不真正属於 我目前所要写的东西的一部份。重新发明轮子我觉得不是问题,但如果只是想到旁边的 便利商店买罐饮料却因此得重新发明轮子,呃,这是成本考量与优先序的问题啊。 於是试了一下 LoginGenerator, 发现﹍。嗯,还真的是很方便。虽然他是个 gem, 但是 generate 出来之後就没有 dependency 了,而且要自己改什麽也都很容易。 於是 auth 的部份也解决了,毕竟我只是要最简单的 auth. (虽然他安全性做得如何我就不清楚了,没有仔细看他的程式码) 到这里,我都还不觉得怎麽样。第三个 ActiveScaffold 就真的吓到我了。 因为那真的是非常完整的实做。rails 内建的 scaffold 实在阳春过头, (尽管阳春过头了,第一次看到还是着实相当惊艳,现在有种乡巴佬进城的感觉) 除非是最简单的资料,不然碰上 association 或是 file column, 全部都没办法应付。当然,我是可以自己去改自己去扩充,但同样是成本与 优先序的问题,一定得需要用别人的东西。 先是找到了 scaffold extensions, 其实我是比较欣赏这种模式。不要产生一堆 程式码,要改什麽,利用 ruby 的 dynamic 机制就好了。只是他文件实在不多, 看来看去要扩充好像还满有难度的,而且虽然号称支援 association, 却是﹍。 我只能说真的很难用,不过是多个 link 出来罢了,是比没有好啦,但是应该会边用 边想打人吧? 接下来我乾脆直接 google file column + scaffold 算了。就找到了 Active Scaffold Upload Branch, which is evolved from ajax scaffold. 他的 file column 范例,呃,问题一大堆,有些根本就写错了,害我试半天试不出来, 有点火大。想说调查一下他的 form 到底是怎麽回事,却发现他居然整个是用 ajax 写的,所以 rails 有错误不见得会回传,而且 form 也因为动态产生而无法显示! 幸好有 firefox 的 web developer 这个 add-on, 装了很久却很少在用, 带有侥幸的心情找了一下,发现他的 display 功能非常强大,举凡页面上出得来的, 全部都能显示。然後才发现,active scaffold 额外产生了一个 record 去存, 这样的话下面这一行就明显不正确了! <%= file_column_field 'entry', 'file' %> 我还是头一次看到范例有这麽严重错误的,太相信他结果找错误找半天。:( 害我又一直怀疑到 file column 和 rmagick 上,看半天觉得应该没错才对。 而且这一个 method 也不知道是干嘛的:  def file_form_column(record, input_name)   file_column_field 'record', :file  end 不是明明就有 partial 了吗?还是这可以取代 partial? 存疑,不管了。 总而言之,现在不只是 file column 的 image upload 没问题, 要自订栏位也没问题,版面上又相当漂亮,不会因为拉扯而变形,排序、搜寻等等, 也都相当不错。最重要的是,他的 association 模式跟我所需要的几乎完全一致! 可以同步修改,可以隐藏,可以追加,所有基本功能似乎都有了。 本来昏昏欲睡的我,看到这边实在是很兴奋,这东西就算要直接拿来用,都够格了。 而且我相信有什麽不足的话,要修改也容易得很。这有一大半要感谢 Ruby :) 老实讲,我真想知道硬干派的 php programmer 看到这些会有什麽想法。 一个 phpBB 我看随便写一写说不定就跑出来了﹍。搞不好再过不久, 写网站就真的是只要呼叫 => 修改 => 呼叫 => 修改就结束了。 这还真的是很恐怖的一件事。不过同时这也代表着,我们应该把眼光放远点了。 来做个 YouOS 吧!! XD == 最後我还想讲一件事,就是写程式写这麽久,从来没碰过几次时程预估是太长的。 但写 rails 这两次,很明显我都估太长了。而且缩短的程度也是非常的多! 我想除了要感谢 library 的强大外,虽然我还没引进 unit test, 只用了 人工 test, debug 难度就已经没有很高了,大部份的错误都不会很难抓。 当然,这有一个很大的原因是我现在在写的东西难度很低,可是在这麽不熟悉的 情况下,我觉得能够这样就真的是非常厉害的了。 另一方面其实我是觉得写 Flash 有趣得多,难度也高得多。但 Flash debug 真的是会让人想抓狂的一件事﹍。不知道有没有什麽好用的 debug tool? 不然写 Flash 永远进度落後实在是很烦。 == script/plugin install \ http://opensvn.csie.org/rails_file_column/plugins/file_column/trunk gem install login_generator script/generate login svn export http://activescaffold.googlecode.com/svn/branches/upload \ vendor/plugins/active_scaffold_upload 有时候真不知道用 rubygems 好还是 rails plugin 好,但我想比较不稳定的东西, 用後者应该是会好很多吧?self contained 这种事,有时候还满重要的。 乡巴佬全文完。 2007.07.28 作者: godfat 真常 在 7/28/2007 01:23:00 上午 -- By Gamers, For Gamers - from the past Interplay --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.28.18
1F:推 shelary:Active Scaffold前面文章就有人推荐了..真的很漂亮.. 07/28 02:27
2F:推 bypang:旧的版本叫做Ajax Scaffold,是generator版本 07/28 16:48







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP