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

問題は、「map」がオブジェクトの名前であり、location-table内のid-columnであるため、railsが「location」内の「map」を認識してオブジェクト全体を取得することであるようです。

Railsにオブジェクトとid-columnの違いをどのように伝えることができますか?!

4

0 に答える 0