javascript - ruby 轨道 : Render HTML partial as a one line of string

标签 javascript ruby-on-rails-3 render partial

有没有办法将 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/

相关文章:

sql - 在 Rails 模型中编写大型 SQL 的更好方法?

ruby-on-rails - 渲染一个仅可请求 1 次的页面?

c++ - 关于 glDrawRangeElements() 的问题

asp.net-mvc-3 - 如何加载 Razor View 并动态渲染它?

javascript - JavaScript 如何决定为数值分配多大的内存?

javascript - 通过 ajax 打开 FileStreamResult(作为下载的文件)

javascript - node.js 模块 - 将对象及其属性导出为函数

ruby-on-rails-3 - 将 cancan 应用于自定义 Action

ruby-on-rails - has_many 上的自定义范围,:through association (Rails 4)

javascript - 游戏空间数据结构