使用多个 JSON 渲染进行响应。 (红宝石/Rails)

2024-04-06

这是一个相对简单的方法,我很确定它的语法正确。

我试图将多个对象渲染为 json 作为控制器中的响应。所以像这样:

  def info
    @allWebsites = Website.all
    @allPages = Page.all
    @allElementTypes = ElementType.all
    @allElementData = ElementData.all


    respond_to do |format|
      format.json{render :json => @allWebsites}
      format.json{render :json =>@allPages}  
      format.json{render :json =>@allElementTypes}  
      format.json{render :json =>@allElementData}
      end
    end
  end 

问题是我只得到一个 json,而且它始终是最上面的。有没有办法以这种方式渲染多个对象?

或者我应该创建一个由其他objects.to_json组成的新对象?


你实际上可以这样做:

format.json {
   render :json => {
      :websites => @allWebsites,
      :pages => @allPages,
      :element_types => @AllElementTypes,
      :element_data => @AllElementData
   }
}

如果您使用 jquery,您将需要执行以下操作:

data = $.parseJSON( xhr.responseText );
data.websites #=> @allWebsites data from your controller
data.pages #=> @allPages data from your controller

等等

EDIT:

回答你的问题,你不一定要解析响应,这只是我通常所做的。有许多函数可以立即为您完成此操作,例如:

$.getJSON('/info', function(data) {
  var websites = data.websites,
      pages = data.pages,
      ...

});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用多个 JSON 渲染进行响应。 (红宝石/Rails) 的相关文章

  • 如何在rails 6 webpacker中添加jquery第三方插件

    我知道它很简单 但是随着 Rails 6 的更新 rails 6 中有新的语法用于管理由 webpacker 维护的 javascript 资源 application js require rails ujs start require
  • 资源生成器和控制器生成器之间的区别

    当我做 rails g model user name string rails g controller users index create new destroy show 并编辑 config routes rb 添加 resour
  • 使用scrapy到json文件只得到一行输出

    好吧 我对一般编程很陌生 并且具体使用 Scrapy 来实现此目的 我编写了一个爬虫来从 pinterest com 上的 pin 获取数据 问题是我以前从我正在抓取的页面上的所有引脚获取数据 但现在我只获取第一个引脚的数据 我认为问题出在
  • 拆分为不同的换行符

    现在我正在做一个split在字符串上并假设用户的换行符是 r n像这样 string split r n 我想做的事分为两部分 r n要不就 n 那么正则表达式将如何分割其中的任何一个呢 你试过了吗 r n The 使得 r选修的 用法示例
  • 优化Gson反序列化

    优化反序列化的最佳方法是什么 我目前正在使用标准 Gson toJson 和 Gson fromJson 方法来序列化和反序列化一些复杂对象 我希望尽可能减少反序列化时间 如果重要的话 我的最复杂的对象包含 43 个变量 如果你想使用 Gs
  • 如何在 Rails Admin 中隐藏添加新选项

    我正在自定义 Rails Admin https github com sferik rails admin https github com sferik rails admin 我需要禁用 隐藏某些型号的 添加新 选项 任何帮助都会为我
  • 为什么到处都有冻结常数?

    我们可以很容易地从许多著名的存储库中找到这种样式 例如机架 导轨等 例如在机架中 https github com rack rack blob 28e77c710ac2ddb35c436d78d72e28f28f964446 lib ra
  • 在 Ruby 中,有没有办法轻松删除数组中的 1 个匹配项?

    在 Ruby 中 数组减法或reject gt gt 1 3 5 7 7 7 gt 1 3 5 gt gt 1 3 5 7 7 reject i i 7 gt 1 3 5 将删除数组中的所有条目 是否有一种方法可以轻松删除仅出现 1 次的情
  • 尽管不在形式中,但 Rails 属性会发生变化

    我有 Rails 应用程序 用户可以在其中互相分配任务 每个任务都有一名分配者和一名执行者 默认情况下 任务创建者 当前用户 始终是分配者 分配者和执行者都可以编辑同一个任务 我的问题如下 假设 user id 2 是分配者 user id
  • 使用虚假数据生成回形针图像上传 - Ruby on Rails Populator / Faker Gems

    我目前正在尝试用一堆假数据填充项目的开发数据库 以模拟数百篇文章 用户的外观和操作方式 我研究了不同的宝石来完成任务 例如 Factory Girl 但文档非常缺乏 我没有得到它 但最终使用了 Populator 和 Faker gems
  • Rails:如何自动完成名称搜索但保存 ID?

    我用过这个视频http railscasts com episodes 102 auto complete association revised http railscasts com episodes 102 auto complete
  • 如何为开发和生产指定不同版本的 gem

    我需要有不同版本的 gem 进行开发和生产 因此我将以下内容放入我的 gemfile 中 group development test do gem rspec rails 2 11 0 gem bcrypt ruby 3 1 2 end
  • 如何使用 JRuby 创建 Java 小程序?

    我想使用 JRuby 创建一个 Java 小程序 也就是说 我想创建一个 Java 小程序 其中包含由 JRuby 运行的 Ruby 代码来完成所有 GUI 操作 我正在寻找一个简单的示例来说明如何开始 查看这些链接 来自我们代码库的 JR
  • 按第二个值对二维数组进行排序

    好吧 假设我有一个像 z 1 d 3 e 2 这样的数组 如何按每个组成数组的第二个元素对该数组进行排序 这样我的数组就会如下所示 z 1 e 2 d 3 arr z 1 d 3 e 2 arr sort a b a 1 lt gt b 1
  • Firebase 数据库 - 编码错误

    我是 Firebase 的新手 我想使用他们的数据库 但编码似乎存在一些问题 这是我使用 UTF 8 编码的示例 json Stack This is madness Overflow 666 这就是当我将 json 导入 Firebase
  • 如何为 JAXB MOXy 编写 JsonStructure (JSR-353) XmlAdaptor?

    我需要将一些任意 JSON 内容包装到 POJO 中 然后使用 MOXy JAXB 序列化为 JSON 但无法弄清楚如何绑定JsonObject与 JAXB 一起 我只需要整理JsonObject 不需要解组 即拥有 POJO XmlRoo
  • MVC 模型在 OnExecuted 操作过滤器中为 null ...或者设置模型的更优雅的方式?

    我有一个 ActionFilter 它覆盖了 OnActionExecuted 方法 在 POST 操作中 filterContext Controller ViewData Model 始终为 null 我确实发现下面的文章似乎在说它不应
  • django 序列化器到 json - 自定义 json 输出格式

    我对 django 很陌生 最近我需要 JSON 输出 为此我使用以下 django 代码 data serializers serialize json Mymodel objects all 它工作得很好 除了我得到的输出 pk 897
  • 如何解析不可预测地散布到字符串中的 JSON?

    假设我有一个 node js 应用程序 它以一种奇怪的格式接收输入 带有任意散布在其中的 JSON 的字符串 如下所示 This is a string with json in it followed by more text and s
  • gsub的时间复杂度

    一根长绳子s仅包含0 and 1 这段 Ruby 代码计算了有多少个1有 s gsub 1 count Big O 表示法的时间复杂度是多少 有没有一个工具可以进行计算 据我所知 没有一个通用工具可以计算任意代码的 Big O 表示法 这将

随机推荐