2010-03-15 3 views
0

У меня сложная ситуация.
Я позволю пользователю создать форму через Rich Text Editor, а затем я сохранил это. Так, например, я сохраняю это буквально в моей БД: http://pastebin.com/DNdeetJp (как вы можете размещать HTML здесь? Он интерпретируется, поэтому теперь я использую pastebin ...)
На другой странице я обертываю это в form_tag и получает как и должно быть.
Что я хочу сделать, это сохранить это как шаблон и сохранить ответы как хэш-карту для моей БД.
Это хорошо работает, но проблема в том, что я хочу воссоздать, какой флажок/radiobutton/... выбран, когда пользователь вернется на страницу. Поэтому я хочу заполнить форму ответами из hashmap. Есть ли способ использовать «фиктивную» модель или что-то еще для этого?
Спасибо!Заполните форму рельсов с помощью hashmap

ответ

0

Поскольку вы вставляете необработанный HTML-код, который неправильно настроен как шаблон, сложнее включить правильные параметры на основе того, что может быть сохранено в вашей БД.

Надежный подход к выполнению этой работы - использовать Hpricot или Nokogiri для управления бит HTML, который у вас есть, и соответственно заменить значения. Это не слишком сложно, если вы можете определить элементы в этой форме, используя правильный селектор. Например, создайте div с уникальным идентификатором и действуйте на всех входных элементах внутри него, сравнивая атрибут name с вашими свойствами. Там может быть библиотека для этого.

Второй подход заключается в том, чтобы использовать JavaScript, чтобы включить параметры примерно таким же образом. Это похоже на хак, поскольку сама форма не будет иметь правильное состояние по умолчанию.

Смежные вопросы