2016-09-11 3 views
0

У меня есть класс под названием Case, у него есть поле, называемое data, которое имеет тип Hash. данных имеет несколько уровней:как создать элемент компоновщика формы для mongoid, если тип Hash

class Case 
    include Mongoid::Document 

    field :data, type: Hash 
... 
end 

Предположим, данные случае, является простой старый хэш данных, таких как:

"data": {"DOB": "10/19/1990",.. 

И далее, предположим, что он имеет несколько уровней:

"data": {"DOB": "10/19/1990",.., "preferences": {"best time to call": "9:00am"... 

Как я могу установить, скажем, текстовый ввод, чтобы указать под-атрибут? Это не работает:

<%= f.text_field :data["preferences"]["best time to call"] 

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

Спасибо за любую помощь, Kevin

ответ

0

Вы должны попробовать написать свой вспомогательный элемент формы, как:

<%= f.text_field 'data[preferences][best time to call]' 
Смежные вопросы