【问题标题】:Switching from prototype to jquery in Rails, what about helpers?在 Rails 中从原型切换到 jquery,助手呢?
【发布时间】:2011-09-01 20:17:48
【问题描述】:

我目前从prototype切换到jquery主要是为了支持简单的ajax文件上传。我使用:https://github.com/indirect/jquery-rails

95% 的 javascript 代码是由 rails helper 编写的,例如:

- remote_function
- render :update do |page|
- page.replace_html 'id', :partial => 'content'
- page['form']['name'] = something
- page.visual_effect :highlight, 'head_success'
...

我知道 5% 的代码纯原型我必须为 Jquery 重写它,但是剩下的呢?我是否必须在原始 jquery 中全部重写?

我用:

  • Rails 3.0.7
  • jquery-rails 1.0.7

【问题讨论】:

  • 您为什么不尝试一下并找出答案?此外,如果您不需要,则无需切换所有内容。 Prototype 和 jQuery 都可以存在于同一个页面中,不过我同意最好只有一个。
  • Huumm,你认为两者兼备是个好主意吗?目前,我已经尝试过,但我没有找到让这个助手使用 jquery 的方法。
  • 我并不是说这是一个好主意,但也不是一个坏主意。它会让你继续在项目上工作,而不是四处乱搞,试图让 Rails 做你想做的事。另外,RJS 很糟糕。如果可能的话,我建议你停止写它。
  • jQuery 和 Prototype 在同一页面上很好地共存。然而,要实现这一点,必须在 Prototype 核心之前包含 jQuery 核心和所有其他 jQuery 插件。
  • 你是说使用这个助手不是一件好事吗?我现在只想哭……:(

标签: jquery ruby-on-rails ruby ruby-on-rails-3 prototypejs


【解决方案1】:

所有的助手都被弃用,取而代之的是不显眼的 javascript(如果 你正在使用 jQuery 或 PrototypeJS)。

您可以在此处找到详细指南:

http://www.simonecarletti.com/blog/2010/06/unobtrusive-javascript-in-rails-3/

【讨论】:

    【解决方案2】:

    jQuery-rails gem 有一个 rake :install 任务,它在运行时会更新 rails.js 帮助程序并将prototype.js 替换为 jquery.js

    【讨论】:

    • 您有相关文档的链接吗?现在这对我来说是完美的
    【解决方案3】:

    jrails 插件/gem 将 rails 原型助手(如 page.replace_html、page.visual_effect)转换为使用 jquery 而不是原型。使用它,您无需更改任何代码,除了您所说的纯原型代码。

    http://mirror.ozdiy.com/assets/b8/2f96a12bc919b37e09d303b86ea1b9_1251811910.html

    https://github.com/aaronchi/jrails/

    【讨论】:

    • 好像有点过时了吧?
    • 你的意思是自从它问世以来有更好的解决方案吗?如果有,是什么?
    • 噢,不。不幸的是,我只是说它不适用于 rails 3。
    猜你喜欢
    • 1970-01-01
    • 2011-05-26
    • 2016-02-07
    • 2011-08-17
    • 2023-03-12
    • 2015-09-20
    • 2012-12-07
    • 1970-01-01
    • 2010-10-09
    相关资源
    最近更新 更多