несколько атрибутов для сохранения в виде данных BLOB-объектов в MySQL и извлечения в ruby ​​на рельсах - PullRequest
0 голосов
/ 11 августа 2010

У меня есть около 9 поля со списком в регистрационной форме, и я хотел бы сохранить их все как тип данных BLOB-объектов в MySQL и извлечь их в форме редактирования. Моя форма просмотра выглядит следующим образом

<%= select("pcs","pc_info[HDD]",options_for_select(["---Select---","20GB","40GB","160GB","250GB","Other"]"), {:style => "width:142px"}) %>    </td>
 <%= select("pcs","pc_info[DRIVE]",options_for_select(["---Select---","Combo Drive","DVD Writer","Other"]), {:style => "width:142px"}) %>

pc_info - тип данных BLOB-объектов в MySQL. Он может быть успешно сохранен в MySQL. Мой вопрос - как получить значение типа данных BLOB-объектов и сделать поле со списком выбранным в соответствии с этими значениями.

1 Ответ

0 голосов
/ 11 августа 2010

Данные BLOB-объектов - это просто текст, поэтому вам придется извлечь их, а затем проанализировать в массив для выбора опций.

ruby-1.8.7-p249 > '"20GB","40GB","160GB","250GB","Other"'.split(",")
 => ["\"20GB\"", "\"40GB\"", "\"160GB\"", "\"250GB\"", "\"Other\""] 

так что вы должны иметь возможность использовать эти методы разделения для построения массива.

@pc.pc_info.split(",")

и, возможно, используйте gsub для извлечения экранированных кавычек или сохраните большой двоичный объект без внутренних кавычек в db

ruby-1.8.7-p249 > "20GB, 40GB, 60GB".split(",")
 => ["20GB", " 40GB", " 60GB"] 

и теперь этот массив готов для вашего параметра коллекции в вашем select_tag

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