0

グレープ ジェムを使用して REST API を追加しています。また、grape-entities ジェムも追加しました。私が必要としているのは、Product、Company、ManufactureCompany の 3 つのモデルのデータが 1 つの json ファイルに含まれていることです。

の関係product.rb:

has_many :manufacture_companies
has_many :manufacturers, :through => :manufacture_companies, :source => :company

products.rbファイル:

class Products < Grape::API
  resource :products do
    get do
        @products = Product.all
        present @products, with: Entities::Product
    end
  end
end

そしてentities.rb

class Product < Grape::Entity
  expose :id, :name,:description, :barcode
  expose :net_weight, :reference_unit
  expose :prepare_instructions, :storage_instructions, :origin
  expose :manufacturers, using: Entities::Company
end

class Company < Grape::Entity
  expose :id
  expose :name
end

エンティティはおそらく間違っています。has_many リレーションシップではただ言うことができるのを見ましたexpose :something, using: Entities::RelatedModelが、この場合、関連するモデルには product_id と company_id (および独自の ID) しかありません。ネット上で例を見つけることができませんでした。

4

1 に答える 1