2014-12-10 2 views
0

Я новичок в Rails. Допустим, есть администратор веб-приложения, который может устанавливать дополнительные поля, необходимые, когда пользователь отправляет форму.Rails: Пользовательские атрибуты для формы, созданной во время выполнения администратором

Например, в системе отслеживания ошибок администратор может установить «флажок» и помечен как «Пообещано клиенту?». Поэтому всякий раз, когда кто-либо вводит ошибку, они должны представлять эту информацию. Это также может быть позже изменено или даже удалено. Все зависит от администратора.

Так что я хочу администратора иметь следующие параметры при создании пользовательских полей для формы ввода Bug ...

  1. «Имя поля» ввод текста

  2. «Тип поля» выпадающий список значения «флажок», «ввод текста», «текстовое поле» и т.д.

  3. «требуется» флажок, если это требуется для записи Bug

Если у кого-то есть пример того, как это сделать, и особенно, как правильно проверить (на стороне сервера, без JS) такие настраиваемые поля, это было бы замечательно.

Если это важно, я использую MySQL.

ответ

0
  1. Установите вложенную форму жемчужину - https://github.com/ryanb/nested_form
  2. Добавить модели Bug и CustomField:

    model Bug 
        has_many :custom_fields 
        accepts_nested_attributes_for :custom_fields, allow_destroy: true 
    end 
    
    model CustomField 
        belongs_to :bug 
        validates :name, presence: true 
        enum field_type: ["checkbox", "text input", "textarea"] 
    end 
    
  3. Читать nested_form Использование для добавления вложенных полей в виде черепашки.
Смежные вопросы