我想知道如何在我的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