0

我正在使用 Rails 3.2.8 构建后端,并且我有一个巨大的对象图,其中包含很多依赖项等。

例子:

A belongs_to B (and of course B has_many A)
B belongs_to C
C belongs_to D
etc...

如果我现在打开 URL“http://0.0.0.0:3000/ds.json”,我会得到整个对象图。

[{"id":1,"c":{
    "id":1,"b":{
        "id":1,"a":{
            "id":1
        }
    }
}]

(我有一个自定义数据库,其中外键没有“_id”后缀)。

相反,如果我打开“ds.json”,我只想获得“C”的 id:

[{"id":1,"c":1}]

这可能吗?

编辑: 我的模型看起来像这样(我认为这是问题所在,但我无法更改数据库方案):

class Location < ActiveRecord::Base
  self.table_name = 'location'
  self.primary_key = 'id'

  belongs_to :map, foreign_key: :map
end



class Map < ActiveRecord::Base
  self.table_name = 'map'
  self.primary_key = 'id'

  has_many :locations, foreign_key: :map
end

问题似乎是rails只是在“位置”中看到“地图”并且只是抓住了整个对象,因为“地图”是对象的名称和位置表中的id列......

我如何告诉 Rails object 和 id-column 之间的区别?!

4

0 回答 0