Hinzufügen vendor/assets/javascripts auf meine gültige Vermögenswerte route
Ich versuche, diese Arbeit zu machen aber es treibt mich verrückt. Ich habe bereits in
Anwendung.rb
config.assets.paths << Rails.root.join("vendor", "assets", "javascripts").to_s
(.to_s, denn es gibt ein Objekt zurück, während ich möchten einen string in hier).
Ich kann nicht finden, die Lösung und fährt mich verrückt, weil die stylesheets-Verzeichnis vendor funktioniert, aber die Javascripte nicht.
Wie kann ich dies tun?
Fehler zurückgegeben:
<h1>Routing Error</h1>
<p><pre>No route matches [GET] "/assets/ext-all-debug.js"</pre></p>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, dass Verkäufer bereits in Ihrem Vermögen Pfad, überprüfen Sie mit dem rails-Konsole
Jedoch die einfachste Sache sein könnte, dieses
application.js
Wenn Sie wirklich wollen, dass es in vendor
code für index.js
code für application.js
dass der name des dir, dass die index-manifest-Datei befindet sich
Starten Sie Ihre rails-server
wenn Sie nicht wollen, zu laden über extjs application.js, d.h. Sie möchten, dass auch die extjs-lib nur auf bestimmten Seiten
Können Sie hinzufügen:
Ihrem
application.js
Datei.LESEN SIE DIE UPDATE -
Wie es aussieht, das problem ist verbunden mit der Tatsache, dass die EXT hat eine eigene Struktur Pfad bauen mit relativen Pfaden.
Ich das problem gelöst, indem die Erhaltung der ganzen ext-Verzeichnis Struktur wie Sie ist (ohne splitting Bilder überall) und ich habe es zu einem Lieferanten/externen Verzeichnis (von mir erstellt). Ich habe dann Hinzugefügt, den Pfad mit:
Und nun alles es ist in Ordnung arbeiten, indem Sie darauf verweisen, mit //= erfordern ext-all-debug.js
Aktualisiert 23/12/2013:
Als von Rails 3, bemerken, dass dieses Verzeichnis wurde standardmäßig Hinzugefügt.
Es ist nicht leicht zu sehen, dass das problem aus den Informationen, die Sie bereitgestellt haben, als ich denke, dass das problem woanders liegt.
Den purporse der asset-pipeline zu setzen alle javascripts in einer Datei. Und diese Datei ist enthalten, um das HTML-Dokument. Der Schlüssel ist also, dass eine große JS-Datei. Gut, es kann komplizierter sein, aber ich denke, das ist nicht unbedingt Ihr Fall.
So zum Beispiel in Ihrem layout ERB (in der Regel
app/views/layout/application.erb
):und in
app/assets/javascripts/application.js
:Wenn die HTML-Seite angefordert wird, fragt es nach "application.js" und es ist auf eine Weise erzeugt, dass der Verkäufer JS code, der eingebettet ist, in dieser Datei (beachten Sie, dass es gibt keinen Weg, dass erfordert).
Und eine Letzte Sache - es ist ganz wichtig das Verhalten in der Produktion Umwelt, weil in der Regel diejenigen, die JS-Dateien werden serviert von nginx/apache.
rake assets:precompile
ist ein guter Anfang.