将另一个字段插入GET响应JSON

时间:2018-11-08 13:13:20

标签: ruby-on-rails json

我有以下响应#!/bin/ash 的代码:

GET /something.json

这会在数据库中运行def index @something = Something.all respond_to do |format| format.json { render json: @something } end end ,将结果格式化为JSON,然后进行响应。

请求可能会通过查询参数询问另一个字段,该参数与SELECT * FROM something在不同的表中。我设法这样做检索所需的字段:

something

但是我还没有找到一种将字段添加到JSON字符串的方法。我怎样才能做到这一点?还是有更好的方法通过def index @something = Something.all if params[:get_field_from_some_other_table] == "true" @something.each do |i| some_other_table = SomeOtherTable.find(i.some_other_table_id) the_field_i_want = some_other_table.the_field end end respond_to do |format| format.json { render json: @something } end end 或类似的方法来检索包含something表内容的字段?

1 个答案:

答案 0 :(得分:1)

somethingother_table应该以某种方式与active_record相关...也许是has_one
试试看,然后使用@something.all.includes(:other_table_attribute)

除此之外,请通过一些可读的示例正确地发布您的代码,这将有很大帮助,并且将为您提供更快的响应:)