Описание тега active-model-serializers

Цель ʻActiveModel::Serializers` - предоставить объект для инкапсуляции сериализации объектов ʻActiveModel`, включая объекты ʻActiveRecord`.
1 ответ

ActiveModel Serializer отправляет все записи вместо указанного ограниченного количества

У меня есть контроллер, который выглядит так: class MetricsController < ApplicationController def index org = current_user.organization metrics = Metric.where(organization: org).last(100) render json: metrics, status: 200, include: [:organization…
1 ответ

Как включить объект в метод атрибутов Ruby (ActiveModel::Serialization)?

У меня есть объект, который я хотел бы сериализовать в JSON, и я пытаюсь использовать модуль ActiveModel::Serialization::JSON для достижения этой цели. Мой метод атрибутов выглядит примерно так: class MyClass include ActiveModel::Serializers::JSON d…
2 ответа

Rails: рендеринг json с несколькими объектами

Я пытаюсь вернуть несколько объектов с помощью вызова: def index beers = Beer.all micros = Micros.all render json: {beers: beers, micro: micros} end Однако для обоих объектов возвращается только атрибуты, перечисленные в уважаемых сериализаторах, а …
2 ответа

Требуется ли ActiveModel::Serializer явный вызов рендеринга?

Я знаю, что при использовании шаблонов представления (html, rabl) мне не нужен явный вызов рендеринга в моем действии контроллера, потому что по умолчанию Rails отображает шаблон с именем, соответствующим имени действия контроллера. Мне нравится эта…
1 ответ

Сериализаторы активной модели - неопределенный метод 'cached'

Я пытаюсь использовать сериализаторы Active Model для кэширования JSON, используя множество руководств, которые я там видел, все они рекомендуют использовать встроенный механизм кэширования следующим образом: class CacheSerializer < ActiveModel::…
1 ответ

Как избежать вложения в Serializer на ассоциации has_one?

У меня есть ProfileSerializer: class ProfileSerializer < ActiveModel::Serializer attributes :id, :role, :name has_one :company end и я получаю {"user": {"id":7,"role":"guest","name":"misa","company":{"id":2,"user_id":7, ...}} У меня есть шанс изб…
06 фев '15 в 05:22
1 ответ

Rails и сериализаторы активной модели: запретите двойное кодирование JSON и экранирующие символы (\)

В одном из моих контроллеров я вручную собираю свои данные JSON, чтобы иметь возможность использовать пользовательские сериализаторы AMS: data[:foos] = {} Foo.find(foo_ids).each do |f| data[:foos][f.id.to_s] = render_to_string :json => f, :root =…
1 ответ

Уровень стека слишком глубокий, отношение принадлежат к хасу в API Rails и active_model_serializer

У меня есть простые отношения между двумя моделями, коллекциями и работами. Коллекция имеет много работ, и работа принадлежит коллекции. Сериализатор коллекции: #collection_serializer.rb class CollectionSerializer < ActiveModel::Serializer self.r…
2 ответа

Передать параметры хэша через новый синтаксис ArraySerializer

Можно ли вызвать конструктор ArraySerializer следующим образом: mi_tmp[:notes]=ActiveModel::ArraySerializer.new(mi.notes, each_serializer: NotesSerializer, show_extra:false) а затем в сериализаторе: ..... if @options[show_extra] attributes :user_id …
0 ответов

Почему эта ассоциация не загружается (сериализаторы активной модели)

Этот драгоценный камень буквально одна из самых неприятных вещей, с которыми я когда-либо работал. Я действительно сожалею об этом. Почему моя ассоциация не загружается, даже если она определена в моделях и во всем остальном. class Units::ShowSerial…
1 ответ

Как управлять корневым элементом с помощью конструктора в Active Model Serializer .10

Я называю AMS следующим образом: def me render json: current_user, serializer: UserProfile2Serializer, adapter: :json end Я хотел бы получить версию этого для кэширования в нашей базе данных Postgres. Я сделаю это: json = UserProfile2Serializer.new(…
08 апр '18 в 01:55
3 ответа

active_model_serializer возвращает более одного результата

Я пытаюсь вернуть another_id для связанной записи. Я бы просто добавил отношение has_many и own_to для каждого проекта, но мне нужно иметь идентификатор пользователя, чтобы получить правильные результаты. Однако, с кодом, который я имею ниже, он воз…
20 окт '15 в 18:45
1 ответ

Как настроить отклик json с помощью сериализаторов active-model?

У меня есть API, построенный на Rails 4.2.6 и использующий сериализаторы active-model-serializer 0.10.0. Хотя ams - это здорово, я хочу вернуть ключ и значение, которые не представляют столбцы в таблице. API используется для создания письма, и мне н…
0 ответов

Предварительная загрузка / включение полиморфных ассоциаций для сериализатора

class Comment belongs_to :owner belongs_to :parent # parent/children from the gem awesome_nested_set has_many :children # end class Car has_many :comments end владелец может быть Teamили User или Group, У каждого из них есть атрибуты name, avatar(не…
15 апр '17 в 05:23
3 ответа

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

Если я захочу перейти с адаптера атрибутов по умолчанию на адаптер json api, где мне это сделать? Начало работы гласит: Вообще говоря, вы, как пользователь AMS, будете писать (или генерировать) эти классы сериализатора. Если вы хотите использовать д…
2 ответа

Emberjs, рельсы - Активный модельный адаптер

У меня есть рельсы API с драгоценным камнем "active_model_serializers". http://localhost:3000/api/buildings/30.json генерирует для меня это: { building:{ id:30, city_name:"msc", infrastructure:[ { id:40, name:"name 1", created_at:"2015-07-30T08:26:4…
0 ответов

AMS исключает ассоциацию для определенных действий контроллера

Мне интересно, возможно ли исключить ассоциацию с заданным действием контроллера. Что-то вроде: class BookSerializer < ApplicationSerializer has_many :comments, if: -> { params[:action] == "index" } do object.comments.ordered_by_creation end e…
08 мар '18 в 19:25
0 ответов

ActiveModelSerializer преобразует Hash в JsonArray после обновления ruby ​​2.1.4 и rails 4.2.0beta4.

У меня есть следующая строка кода в моем контроллере: render json: {token: user.token}, status: 200 Он отвечал, как показано ниже: (корневой узел по умолчанию отключен) {'token': 'ace814a7dd50acda5a76ff7e4c9f7252'} Теперь я получаю результат в виде …
1 ответ

Как запретить Ember Data сохранять атрибут только для чтения для ActiveModelSerializer

Я пытаюсь использовать {readOnly: true} функциональность с ActiveModelSerializer настраивая метод serialize, чтобы игнорировать атрибуты readOnly, подобные этому для JSONAPISerializer или это для RESTSerializer, чтобы преждевременно сэкономить на за…
1 ответ

Хэш для активной модели сериализатора

У меня есть хеш @branches, который в основном: {1 => 5}, {2 => 6} Могу ли я отправить это на сериализатор и получить вывод JSON, например, так: { branch_id: 1, branch_name: 'Hello', count_5} Я сделал собственный сериализатор и назвал его так: …