2015-04-13 4 views
0

В моем проекте rails я использую RABL gem для ответа json. Мой текущий ответ выглядит следующим образом:Как использовать счетчик в файле rabl json?

[ 
{ 
    "id": 25, 
    "name": "Follow ups", 
    "steps": [ 
     { 
      "id": 67, 
      "Step 1 Subject: ": "Email Test" 
     }, 
     { 
      "id": 65, 
      "Step 1 Subject: ": "Email Test" 
     }, 
     { 
      "id": 66, 
      "Step 1 Subject: ": "Email Test" 
     } 
    ] 
} 

]

Я хочу использовать счетчик с шагом имя ключа, как показано ниже:

[ 
{ 
    "id": 25, 
    "name": "Follow ups", 
    "steps": [ 
     { 
      "id": 67, 
      "Step 1 Subject: ": "Email Test" 
     }, 
     { 
      "id": 65, 
      "Step 2 Subject: ": "Email Test" 
     }, 
     { 
      "id": 66, 
      "Step 3 Subject: ": "Email Test" 
     } 
    ] 
} 

]

Как я могу запустить счетчик в этом файле?

+0

Не могли бы вы предварительно обработать модель, чтобы иметь значение этого счетчика в коллекции шагов? – Vadim

+0

@Vadim Как я могу это сделать? – user1943838

ответ

0

Добавить атрибут индекса для любого вашего класса Step (это не должно быть столбцом db). Затем вы можете выполнить такую ​​предварительную обработку в своем методе контроллера. Используйте свойство index в файле rabl.

def index 
    @items = get_items 
    @items.each do |item| 
    item.steps.each_with_index do |step, index| 
     step.index = index 
    end 
    end 
end 
Смежные вопросы