Uso Rails 3.2.9. Quando aggiungo il codice CoffeeScript a un file .js.coffee
nella directory /app/assets/javascripts
, ottengo il codice JavaScript risultante in tutte le mie pagine Web. Il problema è tutto il codice JavaScript è avvolto in:Set di classi e metodi CoffeeScript/JavaScript disponibili per il resto dell'app Rails
(function() {
// my code
}).call(this);
Quindi i metodi io definisco non sono visibili in qualsiasi altro codice CoffeeScript scrivo in altri file. Qual è il modo corretto di scrivere una serie di classi e metodi riusabili di CoffeeScript con Rails?
Dov'è il posto giusto per impostare lo spazio dei nomi? application.js? la visualizzazione del layout? –
@at: qualsiasi cosa venga colpita per prima cosa. Non sono sicuro che sopravviverà in un file manifest di 'application.js', ma immagino che lo farebbe. Potresti anche lanciarlo nel tuo layout prima del resto dei tag script. –
Ho creato un file con un '_' all'inizio, come' _my_stuff.js.coffee'. In questo modo viene caricato prima di tutto e posso impostare 'window.app = {}' prima dell'altro codice che dipende da esso. –