在没有ActiveRecord的情况下使用Ruby on Rails

ada*_*kin 15 ruby ruby-on-rails rails-activerecord

我一直在考虑从我的Web项目使用PHP转换到Ruby on Rails,我最关心的一件事就是使用ActiveRecord for Rails.在我看来,非常强烈地鼓励使用ActiveRecord并且编写直接SQL似乎不赞成.看了几个项目后,我还没有看到一个实际使用SQL的项目.

我还没有在ActiveRecord上出售,主要是因为它需要学习一些看起来不像直接SQL那么强大的东西,例如,是否有一种简单的方法可以使用group by和ActiveRecord进行嵌套查询或者将我必须跳过篮球才能这样做?

有没有人在没有ActiveRecord的情况下使用过Rails?如果是这样,你的经历是什么?

Rya*_*igg 45

三个字:这里是龙.

通过走出"Rails Way"的道路,你会遇到难以想象的力量和狡猾的敌人.首先,你会想到"我和我这样做,不是很棒吗?".那你就累了.甚至筋疲力尽.很遗憾,在你的挣扎期间,你会看到所有使用Active Record 的酷炫宝石,并想知道为什么你选择冒险走下一条如此充满厄运和阴郁的道路,这会让查克诺里斯穿上裤子.

请不要偏离Active Record.它只是在这里帮助你,而不是阻碍你.如果你想编写自己的查询,那么有一种find_by_sql方法,甚至更低的Model.connection.execute方法.但是,这些只应在非常严峻的需求时使用,就像核武器一样.

如果您根本不想使用Active Record,那么我建议您查看DataMapperMongoid.

DataMapper提供了许多与Active Record相同的功能,并且已知一些人更喜欢语法.作为一点琐事:它是与Rails 3兼容的第一批宝石之一.

另一方面,Mongoid用于MongoDB数据库,其他一些人也很喜欢.

我再次乞求:不要偏离人迹罕至的路径,以免你想要自己挨打.

  • 看看我每天凌晨3点从Rails-Core邮件中看到Ryan Bigg的名字(来自帮助人们),我建议你说出他的话.:) (3认同)
  • 错字警察:s/head/heed (2认同)

mar*_*ark 8

如果你不想使用ActiveRecord,你可以根据需要在模型中定义纯sql.find_by_sql('选择什么')

  • 感谢接受,但Ryan的答案远比我的答案更完整,也是非常好的建议. (5认同)