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の違いをどのように伝えることができますか?!