由于与prototype.js冲突,jQuery导致路由错误

时间:2014-05-30 17:12:07

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

我已经基于Michael Hartl的railsstutorial v1构建了一个示例应用程序,其中包含Rails 3.0.9和Ruby 1.9.3。一切都工作正常,直到我添加了一个名为pushy的滑入式菜单,它使用了jquery v1.10.1.min和modernizr.custom.71422

添加后,我收到错误Route Error - No Route Matches "/dir/3",而不是显示确认弹出框。

我使用以下代码进行确认弹出

link_to "Remove", find_function(array[0]), :method => :delete, :confirm => "You sure?", :title =>"Title"

我在StackOverflow上读到它可能是由于与prototype.js发生冲突所以我添加了

<script>jQuery.noConflict();</script>

此步骤修复了弹出窗口问题,但菜单停止工作。

请帮我解决这个问题,因为我花了将近10个小时。

1 个答案:

答案 0 :(得分:2)

我的问题的根源在于我使用的古老版本的Rails,即v3.0.9

这个(How to add confirm message with link_to Ruby on rails)StackOverflow解决方案提供了包含

的初始方向
//= require jquery_ujs

在application.js文件中。

jquery_ujs github页面提供了添加

的实际答案
gem 'jquery-rails', '~> 2.1'

到gemfile然后运行

bundle install

最后,对于Rails 3.0.X运行

$ rails generate jquery:install

此命令更新了public / javascripts文件夹。并且世界恢复了和平。

相关问题