2015-09-12 2 views
3

У меня есть v1/queues/index.rabl как:как создавать пользовательские и общие RABL

collection @queues 
extends "v1/queues/show" 

Но я хочу иметь шаблон для успешного ответа, который может встраивать с информацией очереди, как

{ 
    "ok":true, 
    "data":[@queues' info] (it can be other info too, like @stack info) 
} 

Я думать о:

def index 
    @queues = Queue.all 
    render 'shared/success',locals: { url: 'v1/queues/index', data: @queues } 
end 

затем создать share/success.rabl как:

node(:ok) { true } 
child(:data) do 
    extend("v1/queues/index",:object =>data) 
end 

Таким образом, в каждом действии, мне просто нужно пройти путь RABL файл v1/queues/index и экземпляр переменного к общему шаблону shared/success. Это возможно??

ответ

1

Для создания общего RABL, вы можете использовать inheritence (extends), как это:

extends 'path/to/shared/rabl' 

Вы можете extend Рабль внутри любого другого rabl использованием указанного выше синтаксиса.

Для получения дополнительной информации см. this.

+0

Благодарим вас за ответ. Думаю, я не объяснял ясно. Я обновил свой пост, не могли бы вы посмотреть еще раз? – user2569579