几年前我还没毕业的时候,用过 CakePHP 写过一个网站,当时没怎么接触 Ruby,给我的映像是: 1.性能非常低下,在一个表内有十几万数据,在只取一条的时候非常慢,我通过源码找到 Cake 的实现方式尽然是全部取出,没有 LIMIT,然后再取一行。 2.稍微复杂一点的 SQL 实现上,ORM 完全没办法做到,而 Cake 不能用原生的 SQL 查询,只能用蹩脚的钩子来实现,以至于后来只好抛弃不用。 3.表的单复数映射,搞一个 person,尽然要写成 people,搞得我老是在单复数上折腾!
这 3 点在我幼小的心里留下很严重的心里阴影,因为 Cake 是严重模仿 Rails 的,所以虽然接触 Ruby 有一段时间了,也仅是用来写一些简单的脚本,没有接触 Rails,惧怕那个单复数的映射规则,以及 ORM 的笨拙,最近想用 Ruby 搭建一个网站,想问问大家实际项目中都是用 Rails 的 ORM 来实现的吗?用的感觉怎么样?有没有我说的这些问题了呢?