2013-08-09 3 views
7

EDIT : 문제가 해결되었습니다. 터보 링크 만 제거하면됩니다. Rails4 응용 프로그램을 사용 엠버 레일 0.13.0 우리가하지 기능을 다시 브라우저 버튼의 문제가 함께Ember.js with Rails4 : 브라우저 다시 버튼 충돌 응용 프로그램

. 때마다 응용 프로그램이 이러한 오류와 충돌 한 뒤 버튼을 사용하여 다시 이전 경로로 오는 동안 :

파이어 폭스 24.0a2에서 : 크롬 28

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

:

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으로 완벽하게 작동합니다. turbolinks과 함께 ember.js에 문제가 다른 사람들

보고서 :

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

답변

7

우리가 발견했던 일부 디버깅 후 그 문제를 일으키는 turbolinks 있습니다. 다시 버튼을 사용하여 터보 링크을 실행하여 모든 javascript를 다시로드하여 app 상태를 무시하는 등 ember.js 응용 프로그램에 이상한 영향을 미치고있었습니다.

터보 링크을 삭제했습니다. http://blog.steveklabnik.com/posts/2013-06-25-removing-turbolinks-from-rails-4

+1

Turbolinks는 Ember에서 "DOM에없는 Metamorph에서 작업을 수행 할 수 없습니다."라는 오류를 유발합니다. 다시 말해서 Turbolinks를 연석에 찼을 때 멀리 떨어졌습니다. – Nathan

+0

@Nathan 보고서를 보내 주셔서 감사합니다. 나는 누군가를 도울 수있는 원래의 질문에 그것을 첨부했습니다. – chrmod