Ich verwende Rails 3.2.9. Wenn ich CoffeeScript-Code zu einer .js.coffee
-Datei im Verzeichnis /app/assets/javascripts
hinzufüge, erhalte ich das resultierende JavaScript auf allen meinen Webseiten. Das Problem ist, alle JavaScript in gewickelt ist:Set von CoffeeScript/JavaScript-Klassen und Methoden für den Rest der Rails App
(function() {
// my code
}).call(this);
So alle Methoden, die ich definieren, sind nicht sichtbar in jedem anderen Coffeescript Code, den ich in anderen Dateien schreiben. Was ist der richtige Weg, um eine Reihe wiederverwendbarer CoffeeScript-Klassen und -Methoden mit Rails zu schreiben?
Wo ist der richtige Ort, um den Namespace einzurichten? Anwendung.js? die Layoutansicht? –
@at .: überall, wo zuerst getroffen wird, wird es tun. Ich bin mir nicht sicher, ob es in einer 'application.js'-Manifestdatei überleben wird, aber ich würde vermuten, dass es das tun würde. Sie könnten es sogar in Ihr Layout vor den restlichen Skript-Tags einfügen. –
Ich habe am Anfang eine Datei mit einem _ _ erstellt, wie '_my_stuff.js.coffee'. Auf diese Weise ist es vor allem anderen geladen und ich kann 'window.app = {}' vor dem anderen Code setzen, der davon abhängt. –