2012-03-28 7 views
0

In Rails möchte ich die JSERB-Datei, die mit einer Aktion auf einem normalen Pageload verknüpft ist, ausführen. Normalerweise tun wir:Rufen Sie js.erb-Datei auf HTML-Anforderung (normale Seite laden)

respond_to do |format| 
     format.html 
     format.js 
end 

Und die action_name.js.erb Datei wird nur dann ausgeführt, wenn die Aktion remote aufgerufen wird. Wie kann ich es so ändern, dass bei einer normalen Seitenladung (HTML-Anfrage) die js.erb-Datei ebenfalls ausgeführt wird?

+0

Welche Art von Aktion soll Ihr JS durchführen? Haben Sie darüber nachgedacht, das Ereignis [DOM ready] (http://api.jquery.com/ready/) zu verwenden, um die ID/Klasse der bestimmten Seite zu prüfen? –

+0

Es sollte einige Marker und Pop-ups in eine Karte laden ... ich könnte den Weg gehen, sie in ein verstecktes div auf der Seite zu laden, und dann tun, was Sie vorschlagen .. Ich dachte nur, es wäre einfacher/mehr kondensiert (aber zu gut, um wahr zu sein), wenn ich die Popups und Marker-Objekte vom Controller zur js-Datei verfügbar machen könnte. – jay

Antwort

0

Ich würde empfehlen, gon zu verwenden, die Ihnen helfen wird, Variablen vom Controller zu JS zu übergeben. Verwenden Sie dann einfach das DOM ready-Ereignis auf einer Seite, um eine Aktion auszulösen.

+0

ich denke, das sieht ziemlich gut aus, geht jetzt durch Dokumentation, um zu lernen, wie man es benutzt. Vielen Dank! – jay

+0

http://stackoverflow.com/questions/9929708/how-do-i-access-variable-attributes-use-gon-in-jquery-rails Können Sie bei dieser Frage helfen? Vielen Dank! – jay

Verwandte Themen