#ruby-on-rails #ruby-on-rails-4 #serialization
#ruby-on-rails #ruby-on-rails-4 #сериализация
Вопрос:
ActiveModel::Serializer::Adapter.create(serializer_object, include: '*,user.**').to_json
Я понимаю код, но не понимаю значения ‘*, user.‘ ** .
Может ли кто-нибудь объяснить это ‘*,user.‘ ** ?
Вопрос 2
Я хочу добавить ссылки в include, как я могу это сделать?
Комментарии:
1. Работает ли это?
2. Да, это рабочее состояние. Эта строка занимает слишком много времени (например, 27 секунд).). Я хочу сократить до 2 секунд. так что я задаю этот вопрос.
3. попробуйте включить только те ссылки, которые вам нужны.
4. Две секунды на рендеринг сериализатора? Ты с ума сошел?
5. @sergio-tulentsev не получает. можете ли вы дать мне синтаксис?
Ответ №1:
https://github.com/rails-api/active_model_serializers/blob/master/docs/general/adapters.md
Это
include: '*,user.**'
означает «включить все непосредственные ссылки на текущий объект, а также все ссылки (рекурсивно) на его user
свойство.
Это выглядит не очень эффективно (пользовательский класс, как правило, является объектом god в каждом приложении). Попробуйте включить только те ссылки, которые вам действительно нужны. Что-то вроде
include: 'user,owner,whatever'
# or
include: [:user, :owner, :whatever]