Хранение массивов в использовании базы данных ActiveRecord

Я нахожусь на направляющих 2.3.8, и я использую mysql в качестве адаптера дб. Я хочу сохранить массивы в своей базе данных. После поиска я мог придумать эту очень полезную статью.

Теперь я должен использовать GUI для входа и не только консоли сервера. Поэтому скажите, что у меня есть текстовое поле, названное цифрами, которые логически должны иметь международный массив. Каков должен быть формат цифр так, чтобы стало легко получить и сохранить массив из той строки?

23
задан Mike Woodhouse 23 June 2010 в 10:07
поделиться

1 ответ

Если вы используете сериализовать , вам не нужно беспокоиться о том, как данные хранятся в текстовом поле, хотя на самом деле это YAML.

serialize задокументирован в API Rails / ActiveRecord (прокрутите вниз до раздела, озаглавленного «Сохранение массивов, хэшей и других не отображаемых объектов в текстовых столбцах»)

Для отображения , вам нужен формат, понятный пользователям и который можно легко преобразовать обратно в массив в вашем коде. Разделенные запятыми или пробелами?

Форматирование для вывода:

delim = ',' # or ' ' for spaces, or whatever you choose
array.join(delim)

Преобразование обратно в массив может работать следующим образом:

num_array = nums.split(delim).map(&:to_i) # or to_f if not integers

или, возможно, с использованием String # scan?

num_array = nums.scan(/\d+/).map(&:to_i) # for positive integers
35
ответ дан 29 November 2019 в 01:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: