Rails 4:有谁遇到过jquery_ujs破坏了回调URL,从而中断了Ajax屏幕更新的情况?

埃尔文

Catch-22-如果我在应用程序中加载jquery_ujs,则在执行时,我观察到jquery_ujs代码从rails中拉出了错误的path / url值,当它向服务器请求不存在的url时会产生一个安静的(e)。

如果我没有在application.js中加载jquery_ujs,则回调URL不会被篡改,并且页面将按预期进行更新,但是我随后放弃了rails.js。

铁轨新手。我不知道答案是否正在盯着我。也许是。我有宝石碰撞问题吗?有想法吗?有什么建议吗?

可能相关:使用Google Maps API。地图画布上的活跃侦听器。

application.js(不含jquery_ujs)

//= require jquery
//= require bootstrap
//= require turbolinks
//= require_tree .

(rails.js不在树中)

宝石文件

    source 'https://rubygems.org'
ruby                          '1.9.3'
gem 'bcrypt',                 '3.1.7'
gem 'faker',                  '1.4.2'
gem 'carrierwave',            '0.10.0'
gem 'mini_magick',            '3.8.0'
gem 'fog',                    '~> 1.23.0', require: 'fog/aws/storage'
gem 'rails',                  '4.1.4'
gem 'pg'
platforms :mswin do
  # gems specific to windows
  gem 'tzinfo'
end
gem 'geocoder',               '1.2.6'
gem 'validate_url'
gem 'country_select',         '~> 2.1.0'
gem 'will_paginate',          '3.0.7'
gem 'bootstrap-will_paginate','0.0.10'
gem 'bootstrap-sass',         '3.3.1'
gem 'simple_form',            '~> 3.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder',               '~> 2.0'
gem 'rails-html-sanitizer',   '1.0.1'
gem 'sdoc',                   '~> 0.4.0',          group: :doc

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer',  platforms: :ruby
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
# gem 'debugger', group: [:development, :test]

group :development do
  gem 'spring'
end

group :assets do
# NTS sprockets-rails claims to include this  gem 'sass-rails'
# NTS sprockets-rails claims to include this  gem 'coffee-rails',            '~> 4.0.1'
  gem 'sprockets-rails', '~> 2.2.0', :require => 'sprockets/railtie'
  gem 'uglifier',                '>= 1.3.0'
end

group :test do
  gem 'minitest-reporters', '1.0.5'
  gem 'mini_backtrace',     '0.1.3'
  gem 'guard-minitest',     '2.3.1'
end

group :production do
  gem 'rails_12factor',     '0.0.2'
  gem 'unicorn',            '4.8.3'
end
埃尔文

在未加载Google Map API DOM侦听器且未安装Turbolink的情况下,尝试了瘦版应用。阿贾克斯的作品。重新加入Google Map API,ajax仍然可以使用。重新添加了Turbolink,ajax损坏了。

通过执行以下操作,我得到了Turbolinks和DOM侦听器回调的工作:

  1. 将Rails更新到4.2.0(无论如何需要这样做)

  2. 在gemfile中添加了jquery_rails及其运行时依赖项

    gem'jquery-rails','〜> 4.0.3'

    gem'rails-dom-testing','〜> 1.0.5'

    gem'railties','〜> 4.2.0'

    宝石'thor','〜> 0.19.1'

    gem'nokogiri'

    gem'activesupport','〜> 4.2.0'

  3. Application.js

    // =需要jquery

    // =需要jquery.turbolinks

    // =需要jquery_ujs

    // =需要引导

    // =需要turbolinks

    // = require_tree。

  4. Javascript钩子

destroy.js

// Ajax handlers, destroy a following relationship
$("#follow_form").html("<%= escape_javascript(render('/users/follow')) %>");
$("#followers").html('<%= @user.followers.count %>');

create.js

// Ajax handler, create a following relationship
$("#follow_form").html("<%= escape_javascript(render('/users/unfollow')) %>");
$("#followers").html('<%= @user.followers.count %>');

Turbolink是您需要做出明智使用决定的事情。它具有优点和缺点。有真正的问题,但我暂时坚持下去。


添加发布另一个问题解答,以更深入地了解这个棘手的问题:Rails 4:有人遇到过jquery_ujs破坏了回调URL,从而中断了Ajax屏幕更新吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jquery_ujs与Rails 4中的Kaminari AJAX冲突?

来自分类Dev

在Rails中使用jquery-ujs时不会发生Ajax回调

来自分类Dev

rails:rails的条件4

来自分类Dev

rails:rails的条件4

来自分类Dev

rails 4,当需要jquery,jquery_ujs时,link_to不能与destroy动作一起使用

来自分类Dev

在Rails中使用UJS时,ajax:success和ajax:complete回调不起作用

来自分类Dev

Rails AJAX的破坏行动

来自分类Dev

当遇到过时警告时,如何配置Rails引发错误?

来自分类Dev

在rails中,如何确定记录是否被依赖项::destroy回调破坏了?

来自分类Dev

Rails-找不到类型为'application / javascript'的文件'jquery_ujs'

来自分类Dev

Rails 4 Ajax更新div

来自分类Dev

有谁遇到过这个问题并解决了或者找到了解决方法[Openshift]?

来自分类Dev

Rails中Edit操作的Ajax回调

来自分类Dev

jQuery Ajax发送Rails的URL

来自分类Dev

Rails 4 JQuery Ajax没有显示

来自分类Dev

Rails 4的回调delete_all

来自分类Dev

Rails 4的回调delete_all

来自分类Dev

链接后Rails 4破坏了Stellar.js

来自分类Dev

Rails上的AngularJS回调

来自分类Dev

Rails4:Ajax(ujs)无法正常工作-感到困惑

来自分类Dev

Rails UJS“打开”以处理ajax事件

来自分类Dev

Gmaps4rails-Rails 4

来自分类Dev

在Rails 4.2.0中实现Rails Ajax搜索

来自分类Dev

Rails根据Rails环境定义根URL

来自分类Dev

jquery-ujs已经加载了rails

来自分类Dev

rails 3.2模型转换为rails 4

来自分类Dev

Rails 4中的Rails 2 with_scope

来自分类Dev

Rails:带有Rails的会话跨域

来自分类Dev

Rails:回滚错误