Dyn*_*ope 7 javascript render partial ruby-on-rails-3
有没有办法将html.erb局部渲染为一行字符串?
我试图在javascript中渲染_foo.html.erb部分,这样我就可以将整个html文档用作字符串变量.
我试过以下代码:
var foo = "<%= render :partial => "foo" %>";
Run Code Online (Sandbox Code Playgroud)
在_foo.html.erb中,假设我有以下内容:
<h1>Hello</h1>
<p>World</p>
Run Code Online (Sandbox Code Playgroud)
这种方式会在javascript中给我一个语法错误,因为部分中有CRLF.但是,如果我写代码...
<h1>Hello</h1>" +
"<p>World</p>
Run Code Online (Sandbox Code Playgroud)
现在,这不是javascript中的错误.我可以采用后一种方式,但如果部分包含许多带有ruby脚本的代码行,那将是一场灾难.
有没有其他办法?
提前致谢.
Mar*_*ota 15
使用escape_javascript函数:
var foo = "<%= escape_javascript(render :partial => 'foo') %>";
Run Code Online (Sandbox Code Playgroud)