2012-03-25 40 views
1

我使用的寶石在我的軌道「jeditable-軌」的就地編輯工作 3.2應用程序在我的控制,我有苗條文件不執行JS裏面

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

,並在我的文章/更新。 js.slim

我有

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

但是當我做一個更新它更新和去js文件,並使得它喜歡,因爲它是。 像$("#error_msg").html(@comment.errors);打印爲這樣或$("#success_msg").html("updated successfully")

編輯:

我使用了編輯jeditable插件代替我的文章標題孤單。它更新文章標題和呈現js文件,因爲它是

我在這裏得到的迴應是json。如何解決這個問題。 GI建議

+0

我真的不明白你的問題,但我會嘗試猜測,建議您調試JavaScript作爲[本文]在(HTTP ://www.alfajango.com/blog/rails-js-erb-remote-response-not-executing/)。 – 2012-03-25 07:12:37

+0

請更明確地描述你的問題,因爲我沒有明白你的觀點。 – 2012-03-25 07:29:45

回答

1

使用|管道告訴Slim渲染引擎將內容輸出爲文本,因此爲什麼您從字面上看它將您的JavaScript代碼打印爲文本。

在這種情況下,我不認爲你想或需要在這裏使用Slim。使用ERB將會很好。試着用articles/update.js.erb用,而不是下面的代碼替換articles/update.js.slim文件:

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

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

我正在使用{:locale => [:en],::formats => [:json],:handlers => [:erb,:builder,:slim,:coffee]獲取丟失的模板文章/更新,應用程序/ }。錯誤我添加了文件update.js.erb在我的意見/文章/ – useranon 2012-03-27 09:56:29

+0

嗯,你的初始文件被明確命名爲'article.js.slim'正確嗎?我不確定一開始如何爲json請求渲染該文件。因爲請求的格式是:json格式,所以我會想象它期待'articles/update.json'模板。 – 2012-03-27 14:27:19