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.create(move_types: [0])
移动和我获取该举动,这是返回什么!
据我所见,move_types是一个文本列,文本列包含字符串而不是数组。您可能需要围绕此列访问器编写包装。 – rubish
但是这不是应该由模型中的'serialize'方法完成吗? – Ashitaka