Objetos de carga lateral con nombres de clase no estándar en EmberJS con Rails + active_model_serializers

Tengo algunos modelos en Rails que se parecen a esto:

class Issue < ActiveRecord::Base
  belongs_to :reporter, class_name: 'User'
  belongs_to :assignee, class_name: 'User'
  has_many :comments
end

class User < ActiveRecord::Base
end

class Comment < ActiveRecord::Base
end

con serializadores como tal:

class IssueSerializer < ActiveModel::Serializer
  attributes :id
  embed :ids, include: true

  has_one :reporter, :embed => :ids
  has_one :assignee, :embed => :ids
end

class UserSerializer < ActiveModel::Serializer
  attributes :id, :name
end

class CommentSerializer < ActiveModel::Serializer
  attributes :id, :body
end

Esto produce JSON que se parece a lo siguiente:

{
  "issues": [
    {
      "id": 6,
      "reporter_id": 1,
      "assignee_id": 2,
      "comment_ids": [
        3
      ]
    },
  ],
  "comments": [
    {
      "id": 3
      "body": "Great comment"
    }
  ],
  "reporters": [
    {
      "id": 1
      "name": "Ben Burton"
    }
  ],
  "assignees": [
    {
      "id": 2
      "name": "Jono Mallanyk"
    }
  ]
}

El problema es que los objetos JSON asignados a los reporteros y asignados de lado no son reconocidos por Ember como objetos de Usuario, y veo el siguiente error:

Uncaught Error: assertion failed: Your server returned a hash with the key reporters but you have no mapping for it

No quiero remover

embed :ids, include: true

de mi IssueSerializer, porque entonces los comentarios no serían serializados.

Hay algunas formas potenciales de resolver esto que he considerado:

Si el método de inserción para ActiveModel :: Serializer aceptó una lista de modelos en su opción de inclusión, esto podría filtrar la respuesta JSON para incluir solo los comentarios cargados lateralmente.El modelo de datos de Ember podría configurarse para cargar de lado a los usuarios de "usuarios", "reporteros" y "asignados" ... pero, por lo que puedo decir de la fuente, solo parece admitir una tecla para sideloadAs.De alguna manera, ignore / deshabilite los errores de carga lateral para claves desconocidas (probablemente el enfoque menos sensato).

¿Hay otra opción que me falta aquí? Creo que es posible que tenga que escribir una solución y enviar una solicitud de extracción a cualquiera de rails-api / active_model_serializers, emberjs / data, o ambos.

EDITAR: Mi solución temporal para esto es cambiar el IssueSerializer para que solo serialice los identificadores para el reportero y el asignado:

class IssueSerializer < ActiveModel::Serializer
  attributes :id, :reporter_id, :assignee_id
  embed :ids, include: true

  has_many :comments, :embed => :ids
end