Создать пользовательский дочерний узел с RABL - PullRequest
1 голос
/ 18 января 2012

Я хотел бы создать JSON следующим образом:

{
  "field1": "value-1",
  "field2": "value-2",
  "actions": {
    "edit": "/edit/action/url"
  }
}

с использованием rabl.Он не работает с методом child, и я не могу сделать это с node - получена неизвестная ошибка метода.Итак, возможно ли создать собственный дочерний узел, используя шаблон rabl?Скажите что-то вроде этого:

collection @datas => :datas
attributes :field1, :field2
child :actions do
  node :edit do
    edit_datas_path :id
  end
end

edit
Я выбрал это:

node :actions do
  actions = {}
  actions[:edit] = edit_customer_group_path(:id)
  node :foo do
    foos = {}
    foos[:bar] = "hello"
    foos
  end
  actions
end

Но принятый ниже ответ верентоже.

1 Ответ

13 голосов
/ 18 января 2012

Я только что наткнулся на эту проблему на днях.Этот билет в вопросах RABL помог мне.В вашем случае я смог сгенерировать правильный JSON, используя:

collection @datas
extends "datas/base"
node :actions do
  {:edit => root_path}
end

сгенерированный JSON:

{
  id: 1,
  actions: {
            edit: "/"
           }
}

Используя RABL 0.5.3

...