2016-06-05 1 views
1

Я очень новичок в рубине и не могу понять эту ситуацию.Рубиновая модель | Почему модель пуста и сериализатор содержит свойства?

Я использую active_model_serializers для генерации модели и сериализатора. Теперь после того, как подножка

$ рельсы г после ресурса названия: строка тела: строка

два файл был создан.

  1. приложение/модель/post.rb
  2. приложение/сериализаторов/post_serializer.rb

До сих пор так хорошо.

Но почему объект модели (post.rb) пуст и не имеет свойств?

class Post < ActiveRecord::Base 

end 

И почему объект serializer содержит свойства, определенные для объекта модели? Я имею в виду сериализатора -> компонент, который DO Сериализация

class PostSerializer < ActiveRecord::Base 
    attributes :id, :title, :body 
end 

ответ

1

В соответствии с документацией в Active Model serializers

Имена атрибутов являются белый список атрибутов для сериализации.

Сериализаторы активной модели - это средства для выборочного преобразования вашей модели в JSON в соответствии с требованиями API, вместо того, чтобы испускать все атрибуты модели Active Model.

Следовательно, эти атрибуты явно перечислены в классах Serializer Active Model

+0

ОК и в чем цель объекта модели. post.rb? – dit

+0

post.rb представляет данные, считанные или записываемые в базу данных. Его объект ActiveRecord и его атрибуты и методы генерируются каркасом путем проверки таблицы «posts» –

 Смежные вопросы

  • Нет связанных вопросов^_^