jquery - jRails 是 Rails + jQuery 必须的吗?

标签 jquery ruby-on-rails jquery-ui jrails

我是rails新手(使用rails 2.3.10)并且想使用jquery,特别是jquery ui。该项目是一个全新的项目,我计划使用 jquery ui 中的一些小部件,如 datapicker 和 selectable 等。 我听说可以安装jrails来替换rails2中的原型(prototype),我有以下问题。

  1. 在开发新的 Rails 应用方面,使用 jrails 和不使用 jrails 的 Rails 有什么区别?
  2. 使用 jrails 有什么优势?
  3. 在我的 Rails 应用程序中使用 jquery ui 小部件必须使用 jrails 吗?
  4. 有什么关于将 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;博士

  1. 如果没有 jRails,服务器端生成的所有 javascript 都将转换为客户端上的原型(prototype) javascript 调用 - RJS 模板帮助器方法、link_to :method => :delete 调用,等等

    使用 jRails,所有这些服务器端方法都将转换为 jQuery 调用客户端。

  2. 见上文; Rails 2 应用程序的服务器端帮助程序生成 javascript 将使用 jQuery 而不是原型(prototype)。

  3. 没有。 jRails 只影响服务器端生成的 javascript。

  4. 您可以在应用程序中包含和使用 jQuery,就像在 Rails 2 中包含任何其他 javascript 资源一样。包含 jQUery 后,它与在纯 HTML 上使用它没有什么不同,因此请查看 jQuery UI tutorials关于如何使用 the datepickerselectable

此外,请使用 Rails 3,而不是 Rails 2。

关于jquery - jRails 是 Rails + jQuery 必须的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5591289/

相关文章:

javascript - 操作表单中的文本 - JavaScript/Jquery

javascript - 在 jQuery map() 函数的回调中返回一个数组

javascript - Leaflet清除geojson层(折线)

jQuery Mobile 双范围 slider

jquery - 较新的 jquery 版本是否向后兼容早期版本?

javascript - 如何在命令上应用 imgix-js?

ruby-on-rails - Rails - 获取不带 GET 参数的当前 url

ruby-on-rails - bundle 安装结果:Gem::Ext::BuildError: ERROR: Failed to build gem native extension。 ...安装失败,退出代码 2

jQuery UI Datepicker - 如何始终将其显示在顶部 : 240px?

javascript - 带有可排序 UI 的 jQuery 拖放不起作用