使用 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
on Chromium 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
答案 0 :(得分:7)
经过一些调试后,我们发现那些 turbolinks 导致了问题。使用backbutton触发了 turbolinks ,这会对ember.js应用程序造成奇怪的影响,比如重新加载所有javascripts,从而覆盖app的状态。
删除 turbolinks 完成了这项工作。以下是一个有用的链接:http://blog.steveklabnik.com/posts/2013-06-25-removing-turbolinks-from-rails-4