2012-04-05 5 views
0

In einigen Javascript-Funktion übergeben ich eine Variable. Nun will ich in dem Schiene Helfer Methode, um diese Variable verwendenVerwenden von Javascript-Bereich Variable in Rails Helfer

Der Code-Snippet wie folgt aussieht:

function changeDate(cell,id) 
{ 
    cell.innerHTML = '<%= text_field_tag "start_date#{id}","{@now.to_date}", :size => 10, :class => nil %><%= escape_javascript(calendar_for("start_date#{id}"))%>'; 
} 

Oberhalb der falsche Weg ist das gleiche zu tun.

Eine Möglichkeit, dies könnte zu tun, verwende ich die von der Hilfsmethode erzeugte HTML-Code direkt in js Funktion anstelle der Schienen Helfer

wie diese

function changeDate(cell,id) 
{ 
    cell.innerHTML = '<input class="date noborder" id="start_date' + id + '" name="start_date" size="10" type="text" value="2012-04-05" />...'; 
} 

, so kann ich leicht Javascript Variable verwenden in meiner Funktion.

Aber ich bin auf der Suche nach einem besseren Ansatz.

Was wird die Schiene Weg der Verwendung von Javascript Variable in Rails Helfer sein?

Alle Richtungen/Vorschläge wären großartig und hilfreich.

Thnx.

Antwort

0

Ich bin kein Javascript Experte, aber ich werde sagen, dass nach meiner Erfahrung, nein. Ich denke das grundlegende Problem ist, dass dein Javascript und dein Erb an verschiedenen Stellen laufen. Das Erb läuft serverseitig, was bedeutet, dass das Javascript, das auf der Client-Seite läuft, noch nicht einmal gestartet wurde. Daher ist es für Ihr erb keine Möglichkeit zu wissen, was der Wert einer bestimmten js-Variable sein wird, während das Erb läuft.

+0

sogar ich dachte schon. Mal sehen, ob es eine Arbeit gibt. thnx für deine Antwort. –