ActiveRecordのシリアル化メソッドを使用してハッシュをテーブル列に格納しようとしていますが、機能させることができません。Rails4.2.0とRailsApi0.3.1を使用しています。
これは私のモデルです:
class Agreement < ActiveRecord::Base
serialize :phone_numbers, Hash
end
phone_numbersは、必須のようなテキスト列です。
次に、コンソールで:
a = Agreement.new(phone_numbers: {"dario" => "12345"})
a.phone_numbers
=> "{"dario"=>"12345"}" #(Note this is a string, not a Hash as I would expect)
a.phone_numbers["dario"]
=> "dario" #(Not "12345" as I would expect)
私は何かが足りないのですか?ありがとうございました!
回答:
回答№1の場合は3あなたが示している行動は、 serialize
呼び出しが間違っているか、列の名前が間違っているか、完全に欠落しています。例えば。 https://gist.github.com/smathy/2f4536d3e59b7a52c855
質問に正しいコードが表示されているので、それを正しくコピーして貼り付けていないか、追加/修正してからRailsコンソールを再起動していない可能性があります。 serialize
コール?