use*_*684 3 jquery jquery-ui ruby-on-rails jrails
我是rails的新手(使用rails 2.3.10)并且想在特别是jquery ui中使用jquery.该项目是一个全新的项目,我打算使用jquery ui的一些小部件,如datapicker和selectable等.我听说可以安装jrails来替换rails2中的原型,我有以下问题.
谢谢batterhead
首先,如果你正在编写一个全新的项目,我建议考虑使用Rails 3.除此之外,它实际上抽象出了Rails使用的默认JS框架,因此从Rails 3中完全删除Prototype要容易得多.
至于使用jQuery UI,没有什么能阻止你在项目中包含jQuery和jQuery UI.原型和jQuery可以在你的应用程序中一起生活(尽管你需要设置一个标志,以便jQuery不会覆盖原型的"$"函数;如何做到这一点是另一个问题).
编写jRails的唯一原因是因为Rails 2的RJS功能 - 在服务器上编写javascript模板的能力.Prototype本质上与Rails的RJS功能相关联,因为RJS的所有辅助方法都将转换为Prototype调用.在Rails 3中,该功能已被弃用,支持使用更加不引人注目的javascript(UJS)技术,因此所有JS代码都保留在客户端.因此,对Prototype的依赖不再是Rails 3中的问题.
TL; DR
没有jRails,所有javascript生成的服务器端都会转换为客户端的原型javascript调用 -  RJS模板帮助方法,link_to :method => :delete调用等.
使用jRails,所有这些服务器端方法都将转换为客户端的jQuery调用.
往上看; Rails 2应用程序生成javascript的服务器端帮助程序将使用jQuery而不是原型.
不,jRails只会影响javascript生成的服务器端.
您可以在应用程序中包含和使用jQuery,就像在Rails 2中包含任何其他javascript资源一样.一旦包含了jquery,它与在纯HTML上使用它没什么不同,所以请看jQuery UI教程如何使用日期选择器或可选择的.
此外,使用Rails 3,而不是Rails 2.