-1

初めて簡単な API を開発しています。私はこのようなモデルを持っていpublisher has_many productsますproducts belongs_to publisher. 現在、各発行者の詳細を含むすべての製品を表示しています。今度は、発行者の詳細を個別のリソースとして保持したい(最初のリクエストで発行者の詳細を表示したくない)、つまりjson出力に属性を持たせたいパブリッシャーの詳細へのリンクが表示されます。これを行うにはどうすればよいですか?また、過去に行った API 開発用の複雑なサンプル コードを誰かが持っている場合は、私と共有してください。私はもっと学びたいと思っているからです。どうもありがとうございました. これが私が持っているものです。

製品コントローラー

 respond_to :json, :xml
 def index
 @products=Product.paginate(:page=>params[:page],:per_page => params[:per_page]).all(:include =>  :publisher)
  respond_to do |format|
  format.json { render json: @products.to_json(
    :include=>:publisher) }
  format.xml
   end
   end

json出力

    [

 {
    "category_id": null,
    "created_at": "2011-03-25T13:35:16Z",
    "details": "Molestias pariatur consequuntur ut voluptas aperiam facere et et autem ad laudantium ut qui dolorem iste sit ut in dignissimos. Et debitis et et sunt quidem qui est est et",
    "id": 1,
    "product_name": "Velit",
    "publisher_id": 1,
    "updated_at": "2012-11-12T18:45:13Z",
    "publisher": {
        "created_at": "2012-11-12T18:45:13Z",
        "email": "ibrahim@greenholt.net",
        "id": 1,
        "password": "Madelyn Parker",
        "password_confirmation": null,
        "publisher_id": null,
        "updated_at": "2012-11-12T18:45:13Z"
    }
}]
4

1 に答える 1

1

https://github.com/josevalim/active_model_serializersは、activemodel オブジェクトのシリアル化をカスタマイズするための人気のあるプロジェクトです

于 2012-11-14T17:54:25.690 に答える