2013-08-09 28 views
7

EDIT: vấn đề được giải quyết. Xóa turbolinks là tất cả những gì bạn cần làm.Ember.js với Rails4: trình duyệt nút quay lại tai nạn ứng dụng ember

Với Rails4 ứng dụng việc sử dụng ember-ray 0.13.0 chúng tôi có một vấn đề của trình duyệt nút không hoạt động trở lại. Mỗi lần khi bạn trở về với con đường trước bằng cách sử dụng nút quay lại ứng dụng được đâm với các lỗi như:

trên Firefox 24.0a2:

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

trên 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: ------------------------------- 

Dường như toàn bộ ngăn xếp ứng dụng được tải lại, kết thúc bằng cơ sở mã không hoạt động. Dù sao, cùng một ứng dụng hoạt động hoàn toàn tốt với Rails3.

báo cáo từ những người khác gặp vấn đề với ember.js cùng với turbolinks:

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

Trả lời

7

Sau khi một số lỗi, chúng tôi đã nhận thấy đó là những turbolinks gây ra vấn đề. Sử dụng nút bấm được kích hoạt turbolinks đã gây ra hiệu ứng lạ với ứng dụng ember.js như tải lại tất cả các javascripts và do đó ghi đè trạng thái của ứng dụng.

Xóa turbolinks hoàn thành công việc. Đây là một liên kết hữu ích cách thực hiện: http://blog.steveklabnik.com/posts/2013-06-25-removing-turbolinks-from-rails-4

+1

Turbolinks cũng gây ra lỗi "Không thể thực hiện các hoạt động trên Biến thể không có trong DOM" trong Ember - một lần nữa, biến mất khi tôi đá Turbolinks tới lề đường. – Nathan

+0

@Nathan cảm ơn báo cáo. Tôi đã đính kèm nó vào câu hỏi ban đầu vì nó có thể giúp ai đó. – chrmod

Các vấn đề liên quan