Удаление узла из RABL

Я новичок в rails и пытаюсь создать API для своего приложения. Я также использую rabl для генерации моих ответов JSON. В моем шаблоне rabl я хочу отправить метку времени и коллекцию предметов.

Код выглядит так:

object false
node(:timestamp){CourseType.maximum("updated_at")}
child(@course_types){attributes :id, :name, :deleted}

И я хочу получить объект, который будет выглядеть так:

{"course_types":
    [{"id":2,"name":"Driving","deleted":false},
     {"id":4,"name":"Cooking","deleted":false}],
 "timestamp":"2016-04-25 16:22:57 UTC"}

Однако я получаю это вместо:

{"course_types":
    [{"course_type":
        {"id":2,"name":"Driving","deleted":false}},
     {"course_type":
        {"id":4,"name":"Cooking","deleted":false}}],
 "timestamp":"2016-04-25 16:22:57 UTC"}

Есть идеи, как это решить?

Спасибо

1 ответ

Решение

Rabl позволяет вам контролировать эти дочерние корневые узлы во всех представлениях через инициализатор

https://www.digitalocean.com/community/tutorials/scaling-ruby-on-rails-setting-up-a-dedicated-mysql-server-part-2

а затем установить правильную комбинацию конфигураций

# config/initializers/rabl_init.rb
require 'rabl'
Rabl.configure do |config|
  config.include_json_root = true
  config.include_child_root = false  
end

Это может быть дубликатом этих вопросов

Рабл, убери родительский элемент у детей

Удаление дочерних корневых узлов в RABL

Другие вопросы по тегам