У меня есть форма, которая будет иметь как динамический набор, так и известный набор полей. Мне нужен способ хранения динамических полей в базе данных, и я решил сохранить их в сериализованном поле, так как мне не нужно будет искать данные, и мне просто нужно его хранить и вызывать, когда это необходимо.Создание формы с неизвестными полями и сохранение этих полей в сериализованной форме в моей модели
class MyApplication < ActiveRecord::Base
has_one :applicant
belongs_to :member
serialize :additional_fields, Hash
accepts_nested_attributes_for :applicant, :additional_fields
Я имел в виду иметь форму возврата поля в качестве additional_fields_attributes и каким-то образом иметь модель вид после storying хэш в разделе additional_fields. Я не уверен, что мне нужно пойти так далеко, как использовать что-то вроде метода, отсутствующего для этого, или если я должен отказаться от accepts_nested_attributes_for и обработать его самостоятельно.
У кого-нибудь есть мысли?
Спасибо! Ryan
Есть ли способ превратить эти хэш-ключи в методы? Например, используйте my_application.additional_fields.first – lundie
это должно ответить: http://stackoverflow.com/questions/4910326/rails-editing-serialized-data-in-form – apneadiving
Это работает, если вы знаете, что поля будут. В моем случае форма динамически генерируется, и каждое приложение может иметь разные поля. Есть ли способ справиться с этим, используя что-то вроде мета-программирования для генерации необходимых методов из того, что содержится в Serialized Hash? – lundie