2017-06-19 1 views
0

Ich definierte eine JavaScript-Funktion namens timeout() in der Datei app/views/download.js.erb. Er fragt einen bestimmten Ort auf dem Server ab, um zu sehen, ob eine Datei zum Herunterladen bereit ist.Ruby on Rails, wie JavaScript-Funktion aus dem Layout aufrufen

Jetzt, ich bin es als Hintergrundprozess ausgeführt, so dass der Benutzer in der Lage sein soll, zu verschiedenen Teilen der Website zu navigieren, während die Polling-Funktion weiter überprüft und überprüft, bis die Datei zum Download bereit ist Popup-Nachricht für den Benutzer.

Also ich möchte die timeout() Funktion ausführen, wo immer der Benutzer ist, so dass die Überprüfung ständig ausgeführt wird.

Ich denke über das Aufrufen dieser Funktion in application.html.erb wenn session[:set_download] == 1 (die ich in der Steuerung entsprechend eingestellt). Meine Fragen sind

1) ist application.html.erb der richtige Ort, um es zu nennen?

2) timeout() ist in app/views/download.js.erb ... so wie nenne ich es in einer Datei wie application.html.erb (wenn es der richtige Ort ist, um den Anruf zu timeout()) zu platzieren?

danke!

+0

Vielleicht möchten Sie diesen Artikel lesen Baum erfordern verwenden application.js für die Platzierung https://codediode.io/lessons/1904 -ajaxified-one-page-Anwendung-mit-Schienen. –

Antwort

0

1) Sie können Ihren Code 2) hinzufügen // = erfordern herunterladen vor