3

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

  1. 在开发新的 Rails 应用程序方面,有和没有 jrails 的 rails 有什么区别?
  2. 使用 jrails 有什么好处?
  3. jrails 是否必须在我的 rails 应用程序中使用 jquery ui 小部件?
  4. 任何将 jquery 插件特别是 jquery ui 可选小部件集成到 rails 应用程序的推荐教程?

谢谢击球手

4

1 回答 1

5

首先,如果您正在编写一个全新的项目,我建议您考虑使用 Rails 3。除此之外,它实际上抽象出了 Rails 使用的默认 JS 框架,因此从 Rails 3 中完全删除 Prototype 会容易得多。

就使用 jQuery UI 而言,没有什么能阻止您在项目中包含 jQuery 和 jQuery UI。Prototype 和 jQuery 可以很好地一起存在于您的应用程序中(尽管您需要设置一个标志以便 jQuery 不会覆盖原型的“$”函数;如何做到这一点是另一个问题)。

编写 jRails 的唯一原因是 Rails 2 的 RJS 特性——在服务器上编写 javascript 模板的能力。Prototype 本质上与 Rails 的 RJS 功能相关联,因为 RJS 的所有辅助方法都将转换为 Prototype 调用。在 Rails 3 中,该功能已被弃用,取而代之的是使用更隐蔽的 javascript (UJS) 技术,因此所有 JS 代码都保留在客户端。因此,对 Prototype 的依赖在 Rails 3 中不再是问题。


TL;博士

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

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

  2. 看上面; 生成 javascript 的 Rails 2 应用程序的服务器端助手将使用 jQuery 而不是原型。

  3. 不,jRails 只影响 javascript 生成的服务器端。

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

另外,使用 Rails 3,而不是 Rails 2。

于 2011-04-08T06:33:41.003 回答