Gibt es eine Möglichkeit eingebetteten Rubin in einer Javascript-Datei ausgeführt wird in meinem / public / Javascripts Verzeichnis?
-
02-10-2019 - |
Frage
habe ich ein Formular mit einer ständig wachsenden Menge an assoziierten Javascript. Derzeit dieses Javascript Leben in meiner Form Ansicht, die ist in Ordnung, aber es wird immer größer und starten Sie das Formular überwältigen es schwierig, die Arbeit an der Form zu machen.
Das mag ich in meinem / public / Javascripts Verzeichnis in einer separaten Datei setzen, aber viele des JavaScript ist durch eingebetteten Rubin erzeugt. Dieser eingebettete Rubin wird ignoriert und durch an den Browser, wenn ich den Code setzt gerade hier.
Was ist der beste Weg (falls vorhanden), die diese eingebettete Rubin ausgeführt und die Javascript in gleicher Weise erzeugt werden, als wäre es aus meiner Sicht waren?
Lösung
Sie können dynamische erb Vorlagen für Javascript erstellen, aber sie gehen nicht in der Öffentlichkeit / Javascripts Verzeichnis.
Ich schlage vor, Sie JavaScript in einen Teil bewegen. Erstellen Sie eine Datei mit dem Namen _form_js.html.erb und setzen Sie den Inhalt Ihrer Script-Tag gibt. Dann <% = render: partial =>. 'Form_js' %> aus Ihrer Sicht
Als Randbemerkung, ist es wahrscheinlich, dass Sie besser dran, dies wäre durch ihre Klasse / id und darauf reagiert völlig statisch Javascript, identifizieren Elemente der Form, anstatt für jedes Element benutzerdefinierte Javascript.
Andere Tipps
Sie können RJS Vorlagen erstellen und gruppieren Sie Ihre Javascript-Code in den RJS-Dateien. Siehe: http://www.codyfauser.com/2005/11/ 20 / Schienen-rjs-Vorlagen