私は以下のようなシナリオを持っています: 私はレールウェブポータル(Rails 3.1)を持っていて、RestKit 0.9.3(最新バージョン) iOSデバイス。 私は、サーバーからのデータ構造をiOSデバイスのコアデータモデルにマップしたいと考えています。次のようにモデルが設計されていますRails 3.1&RestKit 0.9.3 - 参照のマッピング
クラス
- ユーザー
- 役割
- ポスト
- コメント
関係
- ユーザーは、ユーザーが複数の記事があります/投稿コメントはあり/ 1ユーザー
- A Postは、複数のコメントを持っている持っている1ポスト
RestKitのリレーションのデフォルトマッピングでは、巨大なメッセージと冗長転送が発生するのは、ロールを送信/受信するとすべてのユーザーが転送され、ユーザーを送信/受信するためです。各ユーザーに追加されます。ユーザー、投稿、コメントでも同じことが起こります。 多くのデータとベストソリューションは、私が思う限り、参照され、各タイプを転送するIDを送信することです。 これは、iOSデバイスからサーバーにデータを送信するときに、Railsが何をすべきかを理解しているため、ロールのIDをUserの「role_id」フィールドにマッピングすることで完全に機能します。したがって、関係は関係としてマッピングされるのではなく、IDフィールドと同じようにマッピングされます。しかし、UserオブジェクトにリンクされたRoleオブジェクトがないため、RestKitはマッピングと何をするべきか理解していないため、デバイス上に存在しないサーバーからUsersを受け取ると、エラーが発生します。
私はリレーションをマップし、プライマリキーのマッピングを使用して、RestKitがロールのプライマリキーのみを送信するように調査しました。しかし、Railsはこれで何をするべきか理解していません。
{ "ID":1、 "UID": "my_user_name"、 "PWD": "my_passwordという"、 "役割":{ "ID":0 それは次のようになります}}
しかし、レールは、そのような期待される:
{ "ID":1、 "UID": "my_user_nameを"; 「PWD」:「my_passwordという」、 「ROLE_ID」:0 }
私の現在の状態だと、私は本当にこの誤解を解くために方法がわかりません。
私は何か助けに非常に感謝しています!