2017-01-31 6 views
0

私が見つけたチュートリアルからレールアプリケーションを作成しています。JSONAPIアクティブモデルシリアライザを使用してそのフォーマットのレスポンスを生成しようとしています。 、私は初期化子でJSONAPI Active Modelシリアライザでモデルの関係が仕様どおりにオブジェクト自体に分離されない

を入れている:私のgemfileで

ActiveModelSerializers.config.adapter = :json_api

を:

gem 'active_model_serializers', '~> 0.10.0.rc3'

私はあたりのように2つのリソース・レベル・キー、データとの関係を期待していjson-apiの仕様。しかし、それ自身のオブジェクトとの関係を分離していません。これは/ contactに対する私の要求です。

{ 
    "data": [ 
    { 
     "id": "1", 
     "type": "contacts", 
     "attributes": { 
     "family-name": "La", 
     "given-names": "ch", 
     "company": { 
      "id": 1, 
      "name": "Lorem Inc", 
      "phone": "+1 (415) 555-1234", 
      "email": "[email protected]", 
      "website": "www.lorem.inc", 
      "address": "213 Main St. 94063 San Francisco, CA", 
      "customer_id": "10001", 
      "additional_info": "", 
      "created_at": "2017-01-31T05:47:02.024Z", 
      "updated_at": "2017-01-31T05:47:02.024Z" 
     }, 
     "title": null, 
     "phone": null, 
     "email": null, 
     "website": null, 
     "address": null, 
     "customer-id": null, 
     "additional-info": null 
     } 
    } 
    ] 
} 

会社は連絡先のbelongs_toです。ここに私のシリアライザがあります。

class CompanySerializer < ActiveModel::Serializer 
    attributes :id, :name, :phone, :email, :website, :address, :customer_id, :additional_info 
end 

class ContactSerializer < ActiveModel::Serializer 
    attributes :id, :family_name, :given_names, :company, :title, :phone, :email, :website, :address, :customer_id, :additional_info 
end 

これらは私のモデルです:他に

class Contact < ApplicationRecord 
    belongs_to :company 

    validates :family_name, presence: true 
    validates :given_names, presence: true 
end 

class Company < ApplicationRecord 
    validates :name, presence: true 
end 

すべてがちょうどレールのCLIから生成されたコードをデフォルトです。私がここに追加する必要があるのか​​どうか分からないのは、デフォルトのレール動作がシリアライザのすべてを表示する応答を生成することだと私は理解しているからです。私はjsonapiアダプターが私のためにそれを分離する必要があると仮定しています。

jsonapiアダプタを正しく動作させるには、他に何が必要ですか?

+0

Xポストに答えましたactive_model_serializers/issues/2044#issuecomment-276693712 – BF4

答えて

関連する問題