私はRails 2.3.8を使っていて、DBアダプタとしてMySQLを使っています。データベースに配列を保存したいのですが、検索したらとても便利なものが見つかりました。記事。
入力にはサーバー コンソールだけでなく GUI を使用する必要があります。論理的には int 配列を持つ nums というテキスト フィールドがあるとします。文字列から配列を簡単に取得して保存するには、nums の形式をどのようにすればよいでしょうか。
ベストアンサー1
を使用する場合serialize
、実際には YAML であるにもかかわらず、テキスト フィールド内にデータがどのように保存されるかについて心配する必要はありません。
serialize
文書化されているRails/ActiveRecord API について(「配列、ハッシュ、その他のマップ不可能なオブジェクトをテキスト列に保存する」という見出しのセクションまでスクロールしてください)
表示するには、ユーザーが理解でき、コード内で簡単に配列に変換できる形式が必要です。カンマ区切りかスペース区切りか?
出力のフォーマット:
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