Rails 3.1, schließen Sie JS-Dateien aus der Asset-Pipeline aus

8

Ich weiß, dass es schon eine Million Fragen dazu gibt, aber ich kann das nicht verstehen.

Ich möchte die meisten meiner JS-Dateien in die Asset-Pipeline aufnehmen, aber ich möchte ein paar, die ich bedingt laden möchte (oder nur auf bestimmten Seiten). Dies sind große, komplizierte Dateien und werden niemals von 95% der Benutzer verwendet werden, daher möchte ich sie lieber nicht für jeden Benutzer laden lassen. Ein Satz von JS-Dateien ist für einen Kalender, platziert in:

%Vor%

So ist mein Manifest so eingerichtet, dass es nur das oberste Verzeichnis enthält (und das Unterverzeichnis calendar ausschließt):

%Vor%

Meine Konfiguration / environments / production.rb:

%Vor%

In der Ansicht verwende ich Ryan Bates 'schicky_layout, um die Kalenderdateien manuell einzufügen:

%Vor%

Ich habe versucht, sowohl in der Entwicklung als auch in der Produktion vorkompilieren - die Dokumente sind nicht klar, wo ich das tun soll, aber es sieht wie Produktion aus.

Und wenn ich die Seite starte, bekomme ich das:

%Vor%

Ich möchte nicht vorkompiliert werden. Ich möchte es manuell geladen werden. (Eigentlich wäre es in Ordnung, in einer anderen Datei als der Hauptanwendung vorzuliegen, die erstellt wird, aber ich weiß nicht, wie das geht.)

Was ist die Lösung?

Danke!

    
dwayne 19.12.2011, 15:38
quelle

1 Antwort

4

OK, ich habe nicht gemerkt, dass das so funktioniert, aber ich denke habe ich herausgefunden.

Fügen Sie die Dateien, die manuell in config / environments / production.rb geladen werden sollen, wie folgt hinzu:

%Vor%

Ich dachte, das hat sie nur in application.js und application.css gefalzt, aber anscheinend nicht - es kompiliert sie als einzelne Dateien.

Dann können Sie die Dateien wie gewohnt aufrufen (in diesem Fall mit nifty_layout):

%Vor%     
dwayne 20.12.2011 00:32
quelle