Unobtrusive jQuery autocomplete in Schienen
Ich bin mit Schienen, aber das tun alle meine Javascript-unauffällig mit jQuery in application.js
.
Leider ist dies macht es ziemlich schwierig, Verweis-URLs. Zum Beispiel, wenn ich will, um ein Feld mit autocomplete-Verhalten, ich habe zu hart-code der AutoVervollständigen-URL in application.js
da die Schienen url_for
ist nicht verfügbar.
Ist es möglich application.js
verwenden Sie erb? Ich bin über dieses denken der falsche Weg ist?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie die url ein Attribut auf das Formular oder ein Formularfeld, wenn Sie nichts dagegen haben-markup, das nicht passieren kann der validator, und Hole dann das Attribut mit jQuery.
Sieht es aus wie Rails 3.0 könnte gehen diesen Weg mit der javascript-Helfer mit HTML5 benutzerdefinierte Daten-Attribute: DHH @ Railsconf 09
Ja, es ist möglich, auf die aktuelle rails-Versionen rufen Sie Ihren Datei
application.js.erb
; auf älteren Versionen können Sie entweder Rollen Sie Ihre eigenen oder greifen etwas wie diese.Nicht
application.js.erb
, das ist nicht eine gute Praxis, auch wenn caching beteiligt ist. Machen Sie AutoVervollständigen-Endpunkt (url, von der aus Sie die Daten) die gleiche wie die action-url. In Ihremapplication.js
fügen Sie einfach&ac=1
zu es und machen Sie Ihren Controller zu verstehen.Müssen Sie nicht hartcodieren-erstellen Sie einfach eine einzelne JS-Funktion fügt hinzu, dass die AutoVervollständigen-listener, und die Parameter akzeptiert, für die "AutoVervollständigen" und rufen Sie die JS-Funktion aus dem template:
(code aus Gründen der übersichtlichkeit vereinfacht)
application.js:
application_helper.rb:
ERb template: