2012-11-14 61 views
-1

我正在開發一個簡單的API。我有這樣的模型publisher has_many productsproducts belongs_to publisher。目前我正在顯示所有產品,包括他們的每個發佈者的詳細信息。現在我想要將發佈者詳細信息作爲單獨的資源(我不想在第一個請求中顯示發佈者詳細信息),換句話說,在json輸出中有一個屬性將帶有一個鏈接到發佈商的詳細信息。我該怎麼做?如果任何人有更復雜的API開發示例代碼,你已經完成了,請與我分享,因爲我想了解更多。非常感謝。這是我的。用to_json自定義Rails rest API中的json輸出

的ProductsController

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": "[email protected]", 
     "id": 1, 
     "password": "Madelyn Parker", 
     "password_confirmation": null, 
     "publisher_id": null, 
     "updated_at": "2012-11-12T18:45:13Z" 
    } 
}] 
+0

我喜歡acts_as_api – apneadiving

+0

謝謝你,但我想用傳統的做to_json。 – katie

+0

然後使用as_json – apneadiving

回答