我是rails新手(使用rails 2.3.10)并且想使用jquery,特别是jquery ui。该项目是一个全新的项目,我计划使用 jquery ui 中的一些小部件,如 datapicker 和 selectable 等。 我听说可以安装jrails来替换rails2中的原型(prototype),我有以下问题。
- 在开发新的 Rails 应用方面,使用 jrails 和不使用 jrails 的 Rails 有什么区别?
- 使用 jrails 有什么优势?
- 在我的 Rails 应用程序中使用 jquery ui 小部件必须使用 jrails 吗?
- 有什么关于将 jquery 插件(特别是 jquery ui 可选小部件)集成到 Rails 应用程序中的推荐教程吗?
谢谢 击球手
最佳答案
首先,如果你正在编写一个全新的项目,我建议考虑使用 Rails 3。除其他外,它实际上抽象了 Rails 使用的默认 JS 框架,因此从 Rails 中完全删除 Prototype 要容易得多3.
就使用 jQuery UI 而言,没有什么可以阻止您在项目中包含 jQuery 和 jQuery UI。 Prototype 和 jQuery 可以在您的应用程序中很好地共存(尽管您需要设置一个标志,以便 jQuery 不会覆盖原型(prototype)的“$”函数;如何做到这一点是另一个问题)。
编写 jRails 的唯一原因是 Rails 2 的 RJS 功能——能够在服务器上编写 javascript 模板。 Prototype 本质上与 Rails 的 RJS 功能相关,因为 RJS 的所有辅助方法都会转换为 Prototype 调用。在 Rails 3 中,该功能已被弃用,转而使用更不显眼的 javascript (UJS) 技术,因此所有 JS 代码都保留在客户端。因此,对 Prototype 的依赖在 Rails 3 中不再是问题。
<小时/>TL;博士
如果没有 jRails,服务器端生成的所有 javascript 都将转换为客户端上的原型(prototype) javascript 调用 - RJS 模板帮助器方法、
link_to :method => :delete
调用,等等使用 jRails,所有这些服务器端方法都将转换为 jQuery 调用客户端。
见上文; Rails 2 应用程序的服务器端帮助程序生成 javascript 将使用 jQuery 而不是原型(prototype)。
没有。 jRails 只影响服务器端生成的 javascript。
您可以在应用程序中包含和使用 jQuery,就像在 Rails 2 中包含任何其他 javascript 资源一样。包含 jQUery 后,它与在纯 HTML 上使用它没有什么不同,因此请查看 jQuery UI tutorials关于如何使用 the datepicker 或 selectable 。
此外,请使用 Rails 3,而不是 Rails 2。
关于jquery - jRails 是 Rails + jQuery 必须的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5591289/