0

http://localhost:3000/api/products製品オブジェクトのリストを含むjson形式の出力を返すこのリクエストがあります。いくつかのシナリオでは、そのようにURIで製品IDをリストするマルチゲットデザインを使用する方が良いと聞きましたhttp://localhost:3000/api/products?ids=1,2,3,4。私の質問は、そのようなURIを返すようにルートを構成するにはどうすればよいですか?以下は、によって返されるjson出力http://localhost:3000/api/productsです。よろしくお願いします。

コントローラ

def index
@products=Product.all

respond_to do |format|
  format.json { render json: @products.to_json}
  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 numquam in dolorum natus sapiente nihil ipsa ratione. Quisquam aut molestiae earum voluptas vero et officiis magnam quam provident voluptatibus quia",
    "id": 1,
    "product_name": "Velit",
    "publisher_id": 1,
    "updated_at": "2012-11-12T18:45:13Z",
    "publisher_details": "http://localhost:3000/api/users/1"
},
{
    "category_id": null,
    "created_at": "2012-01-10T23:16:53Z",
    "details": "Temporibus quis et quam eveniet hic consequatur maiores eum expedita molestiae velit eligendi laboriosam ut molestiae. Velit delectus aliquid nobis quia velit aut dolorem omnis numquam reprehenderit quo illo saepe molestiae nisi. Soluta nihil quae soluta facilis cumque voluptates eaque amet unde non in placeat id cupiditate illum at et vero. Laborum id eaque voluptas illo eius iure",
    "id": 2,
    "product_name": "Nam Laboriosam Et Sed",
    "publisher_id": 1,
    "updated_at": "2012-11-12T18:45:13Z",
    "publisher_details": "http://localhost:3000/api/users/1"
}]
4

1 に答える 1

4

廃止されたgemがあります。これはsproutcore(現在は残り火)用に作成されており、すぐに使用できるようになっています:https ://github.com/drogus/bulk_api

しかし、実際には、それほど難しいことである必要はありません。単一のコントローラーの場合、私は次のようなことをします

 def index
   ids = params[:ids]
   if ids.blank?
     @categories = Category.all
   else  
     wanted_ids = ids.split(',')
     @categories = Categoriy.where(:id => wanted_ids)
   end
   render :json => @categories
 end

それは役に立ちますか?

于 2012-11-16T19:14:29.373 に答える