2013-08-09 7 views
7

EDIT: il problema è risolto. La rimozione dei turbolinks è tutto ciò che devi fare.Ember.js con Rails4: applicazione back-end per browser con pulsante di arresto ember

Con un Rails4 applicazione l'uso brace-rails 0.13.0 abbiamo un problema di browser che non funzionali pulsante Indietro. Ogni volta mentre ottenere indietro al percorso precedente utilizzando il pulsante indietro l'applicazione si blocca con tali errori:

su Firefox 24.0a2:

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

su 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: ------------------------------- 

Assomiglia l'intero stack dell'applicazione viene caricato di nuovo che termina con una base di codice non funzionante. Ad ogni modo la stessa applicazione funziona perfettamente con Rails3.

Rapporti da altre persone che hanno problemi con ember.js insieme turbolinks:

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

risposta

7

Dopo un po 'di debug che avevamo notato questi sono turbolinks causa del problema. Utilizzando il pulsante di risposta attivato turbolinks che causavano strani effetti con l'applicazione ember.js come ricaricare tutti i javascript e quindi ignorare lo stato dell'app.

Rimozione turbolinks completato il lavoro. Ecco un link utile su come farlo: http://blog.steveklabnik.com/posts/2013-06-25-removing-turbolinks-from-rails-4

+1

Turbolinks causa anche errori "Impossibile eseguire operazioni su una metamorfosi che non è nel DOM" in Ember - di nuovo, è andato via quando ho calciato i Turbolink sul marciapiede. – Nathan

+0

@Nathan grazie per la segnalazione. L'ho allegato alla domanda originale in quanto potrebbe aiutare qualcuno. – chrmod