Я создаю приложение, в которое хочу добавить метаданные о полях таблицы из системы предприятия.
У меня есть модель table_structure, которая получает информацию об определении таблицы, например:
table_name
field_name
Field_type
field_length
...
конкретное поле может существовать в нескольких таблицах, таких как:
tableA
fieldX
tableB
fieldX
независимо от таблицы, я хочу добавить атрибуты в поле, чтобы
fieldX :has_many :attributes
и модель атрибута будет
:field
:attribute
:value
Я хотел бы создать единую форму, в которой я мог бы захватить много атрибутов. Я видел вложенные формы railscast, и это близко к тому, что я хочу сделать, но я хотел бы, чтобы форма генерировалась динамически с различными типами ввода, поскольку захваченные атрибуты могут измениться.
Я думал о том, чтобы добавить этот метод в модель атрибутов и каким-то образом выполнить их итерацию и создать форму.
def self.attributes_types
{'Business Essential' => {:field_type=>:radio,:values=>[:y,:n,nil],:default_value=>nil}}
{'Owner' => {:field_type=>:text}}
end
Является ли Nested формой пути? Я не добавляю поля, просто атрибуты к полям, поэтому я могу передать params [: field] в new и использовать его для моих новых атрибутов. Есть ли другой способ создать эту форму?