AR 3.0 への更新後: 文字列属性に割り当てられた配列は YAML にシリアル化されているように見えますが、以前は配列の文字列表現に変換されていました。
Failure/Error: photo.associated_usernames.should == ["moo", "voo", "doo"]
expected: ["moo", "voo", "doo"]
got: ["---\n- moo\n- voo\n- doo\n"] (using ==)
Diff:
@@ -1,2 +1,2 @@
-["moo", "voo", "doo"]
+["---\n- moo\n- voo\n- doo\n"]
したがって、古い gem を使用したデータベースの文字列フィールドは、実際には '["moo", "voo", "doo"]' のようになります。
アドバイス?