Questo è un problema molto strano. Ho un'app per i binari in cui sto sostituendo un partial sulla pagina con un altro usando UJS. Recentemente, ha smesso di funzionare, quindi ho iniziato a registrare tutto il processo per vedere dove si era rotto. Ecco cosa ho trovato:rails ujs - javascript non in esecuzione
- Dopo aver fatto clic sul collegamento, la console di rota mi dice che tutto il rendering, inclusi tutti i parziali, e restituisce 200 OK.
- A mette nelle azioni di controllo torna bene
- Un mette nei blocchi respond.do ritorna ammenda
- A mette nel file .js.erb torna bene
Questo significa che sta facendo tutto il modo di eseguire il file .js.erb e valutare il ruby senza errori. Ma ecco cosa è strano - nessuno dei javascript è in esecuzione. Quando eseguo un avviso ('ciao?') Nel file .js.erb, non è in esecuzione.
Qualcuno ha mai avuto questo problema in passato? Sembra estremamente strano che esegua la valutazione erb ma non il js. E nemmeno gli errori appaiono nella console js.
Per il record ho: cancellato la cache, riavviato il browser, riavviato l'app per rotaie e non è cambiato nulla. Codice
Esempio:
# view
link_to 'example', some_path, :remote => true
# controller
respond_to do |format|
format.js
end
# .js.erb file
alert('this never shows up');
<% puts 'this shows up in the rails console' %>
Grazie soo molto a chiunque possa gettare un po 'di luce su questo strano problema!
Tutto ciò nella console JS? –
"E nemmeno gli errori appaiono nella console js." –
Mi dispiace; Ignoro automaticamente le frasi che iniziano con le congiunzioni. –