恢复使用原型

时间:2010-12-11 11:24:21

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

我安装了https://github.com/lleger/Rails-3-jQuery并且工作正常,但是我使用原型的rails助手停止了工作。

如何使用原型来使用rails helper或者让helper使用jQuery(最后一个是理想的解决方案)。

由于

3 个答案:

答案 0 :(得分:1)

您需要在原型之后加载jQuery ,然后调用jQuery.noConflict(),例如:

$j = jQuery.noConflict();

然后将$j用于jQuery而不是$

或者,仍在调用jQuery.noConflict(),您可以在函数中使用$,例如:

jQuery.noConflict();
//$ is prototype
(function($) {
  //$ is jQuery
})(jQuery);
//$ is prototype

或者说你正在做一个document.ready处理程序,短版本将是:

jQuery.noConflict();
//$ is prototype
jQuery(function($) {
  //$ is jQuery, this runs when the DOM is ready
});
//$ is prototype

答案 1 :(得分:1)

实际上,你使用的宝石还不够好。您应该使用jquery-rails。 安装如下

gem install jquery-rails

或将其添加到您的Gemfile

gem 'jquery-rails'

然后再做

rails g jquery:install

这不仅删除了prototype.js,还下载了jquery,而且(重要的是!)下载了适用于jquery的改编rails.js,并确保所有标准的rails-helper将继续工作。

答案 2 :(得分:0)

Rails 3助手也应该使用jQuery。 (像link_to ..., :remote => true这样的东西),唯一要做的就是加载jQuery和新的rails.js。

我猜这个例外是与RJS相关的助手。

Nick Craver的提示将使jQuery和原型协同工作。