Rails3 rendert eine js.erb-Vorlage mit einem text / html-Inhaltstyp anstelle von text / javascript

8

Ich baue eine neue App mit 3.0.0.beta3. Ich versuche einfach, eine js.erb-Vorlage für eine Ajax-Anfrage für die folgende Aktion (in publications_controller.rb) zu rendern:

%Vor%

Momentan ist meine get_pubmed_data.js.erb Vorlage einfach

%Vor%

Der Server antwortet mit dem folgenden

%Vor%

was völlig in Ordnung ist, außer dass nichts im Browser passiert, wahrscheinlich weil der Inhaltstyp der Antwort 'text / html' statt 'text / javascript' ist, wie der Antwortkopf hier teilweise wiedergegeben zeigt:

%Vor%

Ist das ein Fehler oder fehlt mir etwas? Danke für Ihre Hilfe!

    
Yannis 29.04.2010, 14:58
quelle

4 Antworten

9

Ich war schließlich in der Lage, den richtigen Inhaltstyp in der Antwort zu erhalten, indem ich ihn mit:

erzwinge %Vor%     
Yannis 30.04.2010, 08:01
quelle
1

Mit Rails 3.1.1 Ich stieß auf ein ähnliches Problem. Meine Antwort würde als HTML rendern, obwohl ich format.js explizit in meinem Controller erwähnt hatte. Es stellte sich heraus, dass das Problem darin bestand, dass ich jquery.js-Dateien in meinen Assets hatte und von der Vorlage geladen wurde. jquery-rails benutzt eine eigene Kopie von jquery und diese geladenen Dateien haben auch dazu geführt, dass rails die Antwort aus irgendwelchen Gründen als html rendern. Könnte einem anderen helfen, bei diesem Problem festzuhalten.

    
maverick13 05.12.2011 07:42
quelle
0

hatte ein ähnliches Problem, bei dem die js-Datei als Textdatei geladen wurde, aber am Ende waren es nur meine Skripte, die in der falschen Reihenfolge geladen wurden.

ersetzen

%Vor%

mit

%Vor%

Auch zu beachten, die getscript-Methode

ie ersetzen:

%Vor%

mit:

%Vor%     
montrealmike 21.09.2010 21:22
quelle
0

Ich hatte das gleiche Problem und es stellte sich heraus, dass ich eine Methode namens content_type auf meinem Controller erstellte, die den Standard überschrieb.

    
drummondj 16.11.2013 01:02
quelle