Rails 4 と Postgres 9.2。「pg」gem バージョン 0.16.0。
モデル属性は、schema.rb では次のようになります。
t.string "codes", array: true
このフィールドに次の文字列の配列を格納しようとしています:
["", "a string"]
データベース テーブルでは、このフィールドのデータは{"","a string"}
期待どおりに保存されます。
ただし、Rails では、model.codes を介してこの属性を取得すると、配列の最初の要素が取り除かれ、次のように返されます。
["a string"]
a) 配列にあった (意図的に配置された) 空の文字列はどうなりましたか?
b)空の文字列を単一のスペース文字に置き換えると、取得された属性は問題ないように見えます([" ", "a string"])が、それに頼る必要がないことを望んでいます。