我想知道如何在我的ajax調用中雄辯地返回以下調用?我可以在附加功能裏面打破線條等?如何在.js.haml文件中生成html?
$(".q#{@question_id}.result_to_response")
.html("#{escape_javascript(@resp)}")
.append('<div><a href="#" class="continue_button">Continuez to next question</a></div>');
我想知道如何在我的ajax調用中雄辯地返回以下調用?我可以在附加功能裏面打破線條等?如何在.js.haml文件中生成html?
$(".q#{@question_id}.result_to_response")
.html("#{escape_javascript(@resp)}")
.append('<div><a href="#" class="continue_button">Continuez to next question</a></div>');
Haml不太適合生成JavaScript;它確實只適用於HTML和XML(爲此它非常出色)。
此外,你不應該動態生成你的JS/CoffeeScript文件。你的JS文件應該是靜態的(比如你的Ruby文件)。
此外,您在HTML中使用escape_javascript
這一事實讓我懷疑您正嘗試生成內聯JavaScript。如果是這樣的話,不要這樣做。 JS和CoffeeScript只屬於靜態外部文件。
如果您可以提供有關您的用例的更多信息,我會嘗試提出具體的建議。
我給你的建議只是使用jQuery templates或smthng類似的。通過這種方式,您可以使用haml輕鬆生成所有模板,然後在html正文中添加.tmpl()返回值。
生成內聯javascript是應用程序設計不佳的標誌。
如果你的意思是「貧窮」而不是「純粹」,那麼我同意。 – 2012-04-19 22:20:06
但我通常建議不要使用JS模板,因爲服務器執行所有渲染通常更易於維護,然後只需將預呈現的HTML傳遞給瀏覽器即可。 – 2012-04-19 22:21:01
對不起,當然我的意思是「可憐」,謝謝你修理我)) – icanhazbroccoli 2012-04-20 04:06:22
......哦,如果字符串中沒有其他東西,則不需要'「#{}」'。 – 2012-04-19 20:24:53
你顯然不知道rails js如何更新/插入/顯示工作 – mhenrixon 2012-04-23 18:02:41
@mhenrixon我知道Rails如何與JavaScript協同工作。你有沒有在這裏不同意的具體事情,或者你是否只是手忙腳亂? – 2012-04-23 19:09:57