有没有办法将 html.erb 部分呈现为一行字符串?
我正在尝试在 javascript 中呈现 _foo.html.erb 部分,这样我就可以将整个 html 文档用作字符串变量。
我试过下面的代码:
var foo = "<%= render :partial => "foo" %>";
在 _foo.html.erb 中,假设我有以下内容:
<h1>Hello</h1>
<p>World</p>
这种方式会在 javascript 中给我一个语法错误,因为部分中有 CRLF。 但是如果我写这样的代码...
<h1>Hello</h1>" +
"<p>World</p>
现在,这不是 javascript 中的错误。 我可以采用后一种方式,但如果部分包含大量带有 ruby 脚本的代码行,那将是一场灾难。
还有其他方法吗?
提前致谢。
最佳答案
使用escape_javascript函数:
var foo = "<%= escape_javascript(render :partial => 'foo') %>";
关于javascript - ruby 轨道 : Render HTML partial as a one line of string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4209797/