Подтвердить что ты не робот

Rails/Ember - active_model_serializer - undefined метод `object 'при загрузке

Я пытаюсь загрузить данные в active_model_serializer для приложения Ember и получить NoMethodError при попытке включить объекты:

undefined метод `object 'для #Email: 0x00000100d33d20

Это происходит только тогда, когда: include = > true задано, например:

class ContactSerializer < ActiveModel::Serializer
  embed :ids, :include => true
  attributes :first_name, :last_name
  has_many :emails
end

Мои модели выглядят так:

class Contact < ActiveRecord::Base
  attr_accessible :first_name, :last_name, :company,
  belongs_to :account
  belongs_to :user
  has_many :emails
end

class Email < ActiveRecord::Base
  attr_accessible :email_address, :email_type_id, :is_primary  
  belongs_to :contact
end

Мой контроллер выглядит следующим образом:

def show
  @contact = @current_user.contacts.where(:id => params[:id]).includes(:emails).first
  render :json => @contact
end

Спасибо заранее.

4b9b3361

Ответ 1

Как упоминалось выше в Deefour, убедитесь, что у вас есть сериализатор для любых загруженных объектов. В этом случае создание EmailSerializer:

class EmailSerializer < ActiveModel::Serializer
  attributes :id, :email_address
end