当前位置: 首页 > 面试题库 >

在Rails 3中的JS / ERB模板中处理JSON

白越
2023-03-14
问题内容

我毫不费力地使用JSON对象和jQuery-rails(jQuery库以及一个特殊的rails.js文件)进行Rails(3)的典型AJAX调用。

但是,在一个控制器中,我想在AJAX调用后在erb模板(create.js.erb)中返回一些JSON。

我已经尝试了控制器中所有事物的组合(@ object.to_json,’[{“ content”:“ hello
world”}]’‘等)以及模板本身(JSON.parse(),单引号,双引号等),但对象会继续这样渲染:

'[{"groups":{},"created_at":"2010-09-21T03:49:34Z" ...

结果,我的jQuery代码无法解析它,并且出现错误。

我需要如何在控制器中准备对象,以及在视图中需要什么样的erb语法才能将其呈现为有效的JSON对象?

非常感谢!


问题答案:

我不确定这是原因,但是您也可以尝试使用html_safemethod。ERB可能会转义JSON,因为它认为它不是html安全的。使用字符串时,尝试调用该方法:

@object.to_json.html_safe


 类似资料:
  • 模板(template)是一种高级别的文本文件。它可以做计算、执行 Ruby 代码或者引用你在 Puppet 配置清单中定义的变量值。能被 Puppet 部署的任何一个文本文件,你都可以使用模板来代替。 最简单的情况,一个模板可以仅是一个静态文本文件。更有用的情况是,你可以使用 ERB (嵌入式 Ruby)语法在模板中插入变量。例如: <%= name %>, this is a very l

  • 问题内容: 所以这可能有点令人困惑,但请耐心等待。简而言之,我想遍历具有特定键值的所有属性,然后在值不为空的情况下将它们插入模板。这是我的代码: 属性: 模板: 输出(希望): 我的红宝石并不是最好的,因为我只是从所有这些东西开始,但是我找不到这种情况的任何例子。任何帮助将是巨大的,谢谢。 问题答案: 您可能的意思是: 遍历a时,将遍历其键值对。因此对于第一次迭代,将是,并且将是(不是…)。 接下

  • 什么是模板 你一定听说过一种叫做MVC的设计模式,Model处理数据,View展现结果,Controller控制用户的请求,至于View层的处理,在很多动态语言里面都是通过在静态HTML中插入动态语言生成的数据,例如JSP中通过插入<%=....=%>,PHP中通过插入<?php.....?>来实现的。 通过下面这个图可以说明模板的机制 图7.1 模板机制图 Web应用反馈给客户端的信息中的大部分

  • beego 的模板处理引擎采用的是 Go 内置的 html/template 包进行处理,而且 beego 的模板处理逻辑是采用了缓存编译方式,也就是所有的模板会在 beego 应用启动的时候全部编译然后缓存在 map 里面。 模板目录 beego 中默认的模板目录是 views,用户可以把模板文件放到该目录下,beego 会自动在该目录下的所有模板文件进行解析并缓存,开发模式下每次都会重新解析,

  • 我试图更改添加到docx文件中的图像的对齐方式,但对齐方式不起作用。我尝试了以下方法: 虽然图像是在导出的docx文件中呈现的,但是图像对齐始终保持不变。我如何改变图像的对齐中心或结束?

  • 问题内容: 我最近开始学习Go。我有一个像网络应用程序这样的示例。我有: 我无法加载本地。当我写的时候它被加载了。如何加载本地js文件?我不擅长使用Go编写代码,也没有编写完整的代码。因此,请尝试解释非常简单。提前致谢! 问题答案: 您需要a 或a 来在请求时将文件内容()发送到Web浏览器。 您有3种选择: 手动执行 这是更复杂的解决方案。就像在处理程序函数中,您读取文件的内容,设置适当的响应内