0

私はモバイルアプリで使用するAPIを設計していますが、1つの特定の要件に固執しています。2つの異なるリソースを作成する必要がある場合が1つあり、1つのHTTPリクエストで作成したいので、複数のリクエストやコールバックなどをいじる必要はありません。

簡単にするために、バケットと呼ばれるリソースとアップルと呼ばれるリソースがあります。バケットには多くのリンゴが含まれており、ユーザーはバケットに名前を付けることもできます。ユーザーはバケットに名前を付け、アプリ全体で、その特定のバケットにさまざまなAppleインスタンスを割り当てることができます。

ルートを作成する方法がわかりません。ユーザーがAppleを見ていて、それを新しい名前のバケットに割り当てたい場合。この場合、私のルートでは、最初に新しい名前でバケットを作成してから、そのバケットにAppleを追加する必要があります。

私がこれまでに持っているルートのいくつかは次のとおりです。

POST /buckets                    # create a new bucket
POST /buckets/:bucket_id/apples  # create a new apple within an existing bucket

このハイブリッドルートはどのようになりますか?おそらく次のようなものです:

POST /buckets/new/apples         # post data would contain NAME of new bucket and ID of apple

どんな提案にもオープンですが、繰り返しになりますが、私は本当にこれらすべてを1つのHTTPリクエストで実行したいと思います。それがRESTfulデザインパターンを破るかどうかはわかりません。

4

1 に答える 1

0

私が探しているのはネストされた属性だと思います。

http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html

http://railscasts.com/episodes/196-nested-model-form-part-1

于 2012-05-14T07:09:33.223 に答える