Заполните форму рельсов с hashmap - PullRequest
0 голосов
/ 15 марта 2010

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

1 Ответ

0 голосов
/ 15 марта 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...