2012-03-25 15 views
1

i gem bin mit 'Jeditable-Schienen' in meinen Schienen 3.2-Anwendung für Inplace editting In meinem Controller, ich habeschlanke Datei ausgeführt wird nicht die js Innere

def update 
@article = Article.find(params[:id]) 
@article.update_attributes(params[:article]) 
render :layout => false if request.xhr? 
end 

und in meinem Artikel/Update. js.slim

ich habe

- unless @article.errors.empty? 
    | $("#error_msg").html(@article.errors); 
- else 
    | $("#success_msg").html("updated successfully"); 

Aber wenn ich ein Update zu tun aktualisiert sie und auf die JS-Datei zu gehen und macht es wie wie es ist. wie $("#error_msg").html(@comment.errors); als solche oder $("#success_msg").html("updated successfully") gedruckt

EDIT:

i für die Bearbeitung der Jeditable Plugin verwenden anstelle allein für meinen Artikel Titel. Es aktualisiert den Artikeltitel und rendert die js-Datei, wie es ist

die Antwort, die ich hier bekam, ist json. wie man das löst. GIve Vorschläge

+0

ich Ihre Frage nicht wirklich verstehen, aber ich werde versuchen zu erraten, und schlagen Sie Ihr Javascript zu debuggen wie in [diesem Artikel] (http : //www.alfajango.com/blog/rails-js-er-b-remote-response-not-executing/). –

+0

Bitte beschreiben Sie Ihre Frage genauer, da ich Ihren Standpunkt nicht verstehe. –

Antwort

1

Mit der | Pipe teilt die Slim-Rendering-Engine, um den Inhalt als Text auszugeben, daher sehen Sie buchstäblich, dass es Ihren JavaScript-Code als Text drucken.

In diesem Fall glaube ich nicht, dass Sie Slim hier verwenden möchten oder müssen. Die Verwendung von ERB wäre in Ordnung. Versuchen Sie, die articles/update.js.slim Datei mit articles/update.js.erb stattdessen mit dem folgenden Code ersetzen:

var valid = <%= @article.errors.empty? %>; 

if (valid) { 
    $("#success_msg").html("updated successfully"); 
} 
else { 
    $("#error_msg").html("<%= escape_javascript(@article.errors) %>"); 
} 
+0

Ich bekomme fehlende Vorlage Artikel/Update, Anwendung/Update mit {: locale => [: de],: formats => [: json],: handlers => [: erb,: builder,: schlank,: Kaffee] }. Fehler Ich habe die Datei update.js.erb in meinen Ansichten/articles/ – useranon

+0

hinzugefügt Hm, Ihre ursprüngliche Datei wurde definitiv 'article.js.slim' genannt richtig? Ich bin mir nicht sicher, wie es gewesen wäre, diese Datei für eine: json-Anfrage an erster Stelle zu rendern. Da die Anfrage im: json-Format ist, würde ich mir vorstellen, dass sie eine 'articles/update.json'-Vorlage erwartet. –