0

私は毎日 ember で新しいことを学ぼうとしていますが、ember-data と hasMany の関連付けに悩まされています。

使用されたライブラリ

Rails 3.2.13
gem act_as_taggable_on
ember RC2
ember-data (rev: 12), RESTfulAdapter

問題

「投稿にタグを追加および削除する」というタグ付け機能を追加したいと考えています。したがって、多くのタグを持つ投稿モデルが必要です。ただし、同じタグを異なる投稿で使用できるため、タグには多数の投稿もあります。

Post.js

App.Post = Ember.Model.extend({
  title: DS.attr('string')
  body: DS.attr('string')
  tags: DS.hasMany('App.Tag')
})

タグ.js

App.Tag = Ember.Model.extend({
  name: DS.attr('string')
  posts: DS.hasMany('App.Post')
})

投稿に新しいタグを追加してその変更をコミットしようとした後、json ペイロードで常に post_id が失われます。

レールに送信された JSON

{"tag"=>{"name"=>"test tag name"}}

結合モデルを使用しても役に立たず、どちらも悪いアプローチのように感じます。

ember-data のテスト仕様を読みましたが、habtm や同様のテスト ケースがなかったため、サポートされていない可能性があります。

質問

両側で hasMany および belongsTo 関連付けを定義するための残りの方法は何ですか、または私の問題を解決する一般的なより良い方法はありますか?

ember-data がサポートしていない場合、どうすれば問題を解決できますか?

4

1 に答える 1

0

デフォルトでは、残りのアダプターは属している側でのみ外部キーを送信します。このフックhttps://github.com/emberjs/data/blob/master/packages/ember-data/lib/serializers/json_serializer.js#L169を上書きして、埋め込みでない場合に hasMany ID を次のように追加する必要があります。良い。

于 2013-06-03T22:15:39.037 に答える