0

これは、デフォルト値を設定した最初の移行です。

class CreateMove < ActiveRecord::Migration
  def change
    create_table :moves do |t|
      ...
      t.text :move_types, :null => false, :default => [0]
      ...
    end
  end
end

そして、これはモデルです:

class Move < ActiveRecord::Base
  serialize :move_types, Array
end

を呼び出すとMove.new、次のようになります。

=> #<Move id: nil, move_types: "'---\n- 0\n'">

しかし、私が得るべきものは

=> #<Move id: nil, move_types: [0]>

実際、Move を作成してその MoveMove.create(move_types: [0])をフェッチすると、これが返されます。

4

1 に答える 1

0

これは Rails のバグでした。Rails 4 で修正されました。

于 2013-12-12T16:22:54.527 に答える