私のモデルの1つにこれがあります
has_many :professionals
has_many :services, :through => :professionals
サービスから値を取得する方法を確認しようとしています
サービスモデルに列がservice
あります。description
Elasticsearch を使用しており、サービス モデルのインデックスを作成したいと考えています。
def service_name
services.map(&:service)
end
マッピングが正しい方法であるかどうかはわかりません。これを使用してjsonを取得することになっています:
def to_indexed_json
to_json(
include: {
professionals: {
only: [:first_name, :last_name]
},
services: {
only: [:service_name]
}
}
)
end
これは私が得ているものです
"professionals": [
{
"first_name": "Happy",
"last_name": "Gilmore"
}
],
"services": []
サービスが空の配列を取得しています。スルーアソシエーションなら、専門家に囲まれるべきですか?
関連付けや適切な方法についてのヘルプが必要です。
ありがとう