0

ActiveModelSerializers (JSON API 形式を使用して json をシリアル化するように設定) とember-datagem を使用して、Ember.js と Ember Data をアセット パイプラインに追加する Rails アプリがあります。JavaScript はすべて CoffeeScript を使用して記述されています。

以下を使用するようにアプリケーション アダプタを設定しましたDS.JSONAPIAdapter

App.ApplicationAdapter = DS.JSONAPIAdapter.extend
  namespace: 'api/v1'

シリアライザーも設定しています。

App.ApplicationSerializer = DS.JSONAPISerializer.extend()

ただし、モデルを一覧表示するページにルーティングしようとするとエラーが発生します。

これを正しく構成するにはどうすればよいでしょうか。

4

1 に答える 1

0

実際には、アプリケーション アダプターを指定するだけで済みました。

App.ApplicationAdapter = DS.JSONAPIAdapter.extend
  namespace: 'api/v1'

エラーが発生した理由は、関連付けが原因です。has_manyモデルの関係が壊れているため、Ember はルーティングに失敗していました。

もう 1 つ必要だったのは、下線付きの属性キーを処理することでした。Ember DataJSONAPISerializerは、ハイフンでつながれた属性をマッピングする方法を知っているだけです。マッピングを処理するために、次のコードを追加しました。

DS.JSONAPISerializer.reopen
  keyForAttribute: (key) ->
    Ember.String.underscore(key)

  keyForRelationship: (key) ->
    Ember.String.underscore(key)
于 2015-08-21T19:49:03.430 に答える