#ruby-on-rails #ruby #activeadmin #jsonb
Вопрос:
Я создаю новую/редактирую форму для модели ActiveRecord в ActiveAdmin. Одним из атрибутов этой модели является атрибут jsonb. Ожидается, что его значение будет хэшем, значения которого сами по себе являются хэшами:
{
'foo' => {
'a' => 1,
'b' => 2
},
'bar' => {
'c' => 3,
'd' => 4
}
}
MVP, к которому я стремлюсь, состоит в том, чтобы создать форму, которая выглядит следующим образом:
Фу
a __________________
b __________________
Бар
c __________________
d __________________
Поэтому, по сути, я хочу только попросить пользователя ввести значения для каждого из внутренних хэшей. У меня возникли некоторые проблемы с этим с ActiveAdmin. Это моя лучшая попытка отобразить приведенную выше форму, но она отображает только раздел «Панель». :jsonb_field — это имя атрибута jsonb в модели.
f.inputs name: 'JSONB', for: :jsonb_field do |jsb|
jsb.inputs name: 'Foo', for: 'foo' do |x|
x.input :a
x.input :b
end
jsb.inputs name: 'Bar', for: 'bar' do |y|
y.input :c
y.input :d
end
end
Я чувствую, что есть правильный способ сделать это, но мои исследования оказались пустыми. Кто-нибудь может помочь мне понять, как это сделать? Спасибо!
Комментарии:
1. Вместо этого мы превратили поле jsonb в новый объект AR для лучшей совместимости с формами AA. Я оставлю этот вопрос открытым на случай, если это поможет кому-то еще.