Я использовал родословную и оценивал такси для построения таксономий.
Я не уверен, что вы подразумеваете под "пользовательской функциональностью поля",хоть;Вы имеете в виду динамические атрибуты в модели?
Один из вариантов - просто сериализация хэша, хотя вам, вероятно, потребуется добавить информацию о типе на основе выбора пользователя.
Поскольку у вас, вероятно, естьограниченное количество доступных типов (string, int, date и т. д.), тогда вам, вероятно, лучше создавать тонкие модели вокруг них (StringVar
, IntVar
и т. д.), которые содержат значение и имя динамического«столбец» и используя нормальные ассоциации, например, has_many :string_vars
.