我安装了https://github.com/lleger/Rails-3-jQuery并且工作正常,但是我使用原型的rails助手停止了工作。
如何使用原型来使用rails helper或者让helper使用jQuery(最后一个是理想的解决方案)。
由于
答案 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和原型协同工作。