Преобразуйте JSON в синтаксис jbuilder с ключом, содержащим двоеточие - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь преобразовать мой объект JSON в синтаксис jbuilder, но сам JSON содержит двоеточие в своем ключе.Мой JSON выглядит так:

style: {
  "ui:className": "custom-class"
}

Я пытаюсь это:

json.style do
   json.ui:className "custom-class"
end

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Вероятно, вы можете решить эту проблему одним из двух способов (если вы не хотите преобразовывать свой ключ).

  1. Отправьте имя метода в общем виде, используя Объект # public_send :

    json.style do
      json.public_send 'ui:className', 'custom-class'
    end
    
  2. Используйте JBuilder # merge! для объединения атрибута:

    json.style do
      json.merge! 'ui:className' => 'custom-class'
      # or
      json.merge! 'ui:className': 'custom-class'
    end
    
0 голосов
/ 15 мая 2018

Вы можете использовать key_format! метод:

json.style do
  json.key_format! -> (key) { (key == "ui_className") ? "ui:className" : key }
  json.ui_className "custom-class"
end
...