现在,我们已经了解了ajax和rails是什么,但是这本书是关于他们二者怎么样互相合作,共同开发web应用的。
就像上面说过的rails有一个原则叫做“
frameworks are extractions”把Ajax和rails放在一起也正好验证了这个原则。在37singles做的其他项目中,例如TaDa List(
[url]http://www.tadalist.com[/url]),,开发者需要一些简单的Ajax功能,为项目编写一些需要的javascript代码,这让项目显得比较痛苦,同时也让他们注意到提取这些javascript代码到框架中会变得更有效。当时,公司也在着手下一个Ajax/Rails应用Backpack (
[url]http://backpackit.com[/url]), Ajax功能被加到了框架中,这让Rails成为了第一个拥有一流Ajax支持web开发框架。也因为“
frameworks are extractions”这个原则,它依旧是最注重实效的工作环境。
Ajax/Rails表现在两方面,首先它是由两个javascript框架组成:Prototype和script.aculo.us. Rails通过其RJS模板集成了这二者。虽然他们也被用在例如PHP和Java的应用中。Prototype为XMLHttpRequest提供了简便的接口,也提供了很多的方法来操作DOM和Javascript数据结构。script.aculo.us是建立在Prototype基础之上的,集中于表现视觉效果,例如拖放这样的视觉效果。
另一方面,就是Ruby的方法,在controller和view的代码中(或者其他代码中)生成一些javascript代码来调用Prototype和script.aculo.us。那么这样不用写javascript代码就可以做出非常富有ajax效果的应用来了。
本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/90534,如需转载请自行联系原作者