又到了总结几条有趣的 Rails 链接的时候了,以凸显社区的精华所在。这些内容最初都已在Ruby5 播客中谈到过,该播客是一份两周一次的 Ruby 新闻播报。
Rails 3 内容
下一场Rails3 Bugmash将于 5 月 15 日和 16 日举行。如果你从未为 Rails 做过贡献,可以借此机会稍作回报,尽一份力让 Rails 3 成为有史以来最佳版本。
若要全面了解 Rails 3 中的路由,请参阅 Rizwan Reza 在 Engine Yard 博客上发表的文章,得到了最充分的论述。如果你感兴趣 Engine Yard Rails 3 的内容,他们最近创建了Rails Dispatch,其中包含每周出版的文章和影音教程。
Alex Maccaw 最近对 Rails 3 ActiveModel 抽象进行了使用,构建出了一个名为Supermodel的内存中数据库,类似于 ActiveRecord。可以获得 ActiveRecord 的所有优点,例如验证、回调和观察器,但不必再为此而头疼数据库。
正如你可能早已了解的那样,Rails 3 的arel 库为我们提供了用于创建查询的绝佳新语法。在幕后,arel 使用被称为谓词生成器的工具,将你的where条件转换为 SQL。最近Ernie Miller 发布了一款外挂,名为MetaWhere,利用这些谓词生成器让 arel 的功能更为强大。
最后,如果你仍不清楚 bundler 有多么棒,不妨阅读Yehuda 关于此主题的最新博文。
授权
你是否常常需要在模型中访问current_user?每当需要根据每位用户记录模型/表更改,这一点往往十分必要。有很多技巧可以实现此目的,但 David Bock 有一个名为SentientUser的 gem,可以将其处理得更干净。
你的网站一旦发展壮大,你便开始担心恶意用户攻击,可以了解一下 Arto Bendiken 和 Brendon Murphy 的Rack::Throttle 中间件。Throttle 可以帮助你实现想要达到的目的,允许你限制用户每秒可以 ping 网站的请求数。
最后,Ryan Bates 发布了CanCan的 1.1 版,这是他的授权和权限库,允许你限制用户在整个应用中的操作权限。
服务库
您可能听说过 Facbook API 现已采用 OAuth2。如果准备好了,迈克尔·布莱格刚刚上周发布了 OAuth2 gem。
Rails 为 iPhone 应用程序提供一个优质的 RESTful 后端,最近,安东尼·莫拉莱斯创建了 APN_on_rails,它让 Apple 推送通知变得非常简单。
如果您 Rails 应用程序需要电子商务,那就不需要重造轮子,此时便可使用 Spree gem,不久前它达到 0.10.0 版本,包含大量新功能。
测试
您的 Rails 应用程序是否有庞大的测试库,运行十分耗时?如果是的话,您可能需要看看尼克·戈蒂埃的 Hydra,它是一个分布式测试框架,允许在本地或远程服务器上并行运行测试。
一些人认为黄瓜在集成测试方面太冗长(客户端可能永远不会阅读)。如果您认为黄瓜适合素食者,那么也许是时候来品尝路易斯米·卡瓦莱的 牛排 了。牛排是一个小库,它帮助使用 RSpec 生成本地快速且简洁的验收/集成测试。
说到 RSpec,现在有一些新的约定可以清理您的旧 RSpec 代码。如果您还没有开始使用“Let”,那么可能需要研究一下 乔恩·拉克沃斯基的幻灯片。
其他有用的库
如果您遇到奇特的内存问题,那么现在可能是时候使用 memprof.com 了,它是乔·达马托和 Ruby Hero 阿曼·古普塔的一项新网络服务。Memprof 允许您从 Ruby 进程收集内存使用信息,并使用直观网络界面立即上传和查看它。
Rails 应用程序通常充满了表单,有时您甚至需要让客户有能力创建不同类型的表单或调查问卷。此时便可使用 Census gem,它提供创建一个表单的管理员界面,甚至还能搜索结果的能力。
总结一下,delayed_job 最近达到 2.0,如果您有更老的版本,那么您会希望升级。新版本有一些性能提升,并增加了对非 ActiveRecord ORM 的支持。
其他内容
要了解 Ruby 会议,您可以查看 Ruby There,它提供了所有即将举行的会议的清单,甚至还提供了征集建议的截止时间。
更多新闻和库,请查看Ruby5 播客。如果您不习惯收听音频,您只需订阅包含所有内容摘要的RSS新闻源。
如果您有任何想广而告之的新闻/库,欢迎发送电子邮件至 ruby5@envylabs.com,我们至少会在播客中提及您。谢谢!
图片致谢:铁路上空的蓝天,作者:ecstaticist,模拟解决方案 606 改装,作者:Formication,彩虹,作者:One Good Bumblebee。 奥兰治郡安保,作者:henning,记住,作者:tochis,达尔文关于媒体播放器的观点是对的!,作者:Neeku,遥控器,作者:redjar。