带有Rails4的Ember.js:浏览器后退按钮崩溃Ember应用程序

带有Rails4的Ember.js:浏览器后退按钮崩溃Ember应用程序,ember.js,ruby-on-rails-4,turbolinks,ember-rails,Ember.js,Ruby On Rails 4,Turbolinks,Ember Rails,编辑:问题解决了。您只需删除TurboLink 使用Rails4应用程序使用ember-rails 0.13.0时,我们遇到了浏览器后退按钮无法正常工作的问题。每次使用“后退”按钮返回上一路线时,应用程序都会因以下错误而崩溃: 在Firefox 24.0a2上: TypeError: Class.PrototypeMixin.applyPartial is not a function @ http://localhost:3000/assets/ember.js?body=1:11933 关

编辑:问题解决了。您只需删除TurboLink

使用Rails4应用程序使用ember-rails 0.13.0时,我们遇到了浏览器后退按钮无法正常工作的问题。每次使用“后退”按钮返回上一路线时,应用程序都会因以下错误而崩溃:

在Firefox 24.0a2上:

TypeError: Class.PrototypeMixin.applyPartial is not a function @ http://localhost:3000/assets/ember.js?body=1:11933
关于铬28:

Uncaught Error: jquery-ujs has already been loaded! jquery.js?body=1:517I 
DEBUG: ------------------------------- ember.js?body=1:364
DEBUG: Ember.VERSION : 1.0.0-rc.6.1 ember.js?body=1:364
DEBUG: Handlebars.VERSION : 1.0.0 ember.js?body=1:364
DEBUG: jQuery.VERSION : 1.10.2 ember.js?body=1:364
DEBUG: ------------------------------- 
看起来整个应用程序堆栈都被再次加载了,结果是没有功能代码库。无论如何,同样的应用程序在Rails3上运行得非常好

来自与ember.js有问题的其他人的报告以及turbolinks

Cannot perform operations on a Metamorph that is not in the DOM

经过一些调试后,我们注意到问题是由涡轮链接引起的。使用backbutton触发了turbolinks,这对ember.js应用程序造成了奇怪的影响,比如重新加载所有Java脚本,从而覆盖了应用程序的状态


移除TurboLink完成了工作。下面是一个有用的链接:Turbolinks还导致Ember中出现“无法对不在DOM中的变形执行操作”错误-再次,当我将Turbolinks踢到路边时,该错误消失了。@Nathan感谢您的报告。我把它附在原来的问题上,因为它可能会帮助别人。