小编Mar*_*ski的帖子

Rails ActiveRecord serialize方法在测试环境中不起作用

我在测试中遇到了ActiveRecord 序列化方法的反序列化问题.
它只是给我纯String而不是我的数据Array.

例:

User > ActiveRecord::Base
   serialize :roles, Array
end
Run Code Online (Sandbox Code Playgroud)

安慰:

u = User.new
u.roles = ["admin", "support"]
u.save
# => true

User.first.roles
# => ["admin", "support"]
Run Code Online (Sandbox Code Playgroud)

在测试环境中:

User.first.roles
# => "--- \n- admin\n- support\n"
Run Code Online (Sandbox Code Playgroud)

它是一个字符串.似乎YAML序列化不在那里工作,但我不知道如何使其工作.

我已经试图与弄明白这个,这个,这个这个,但没有运气.

任何建议将不胜感激.
马丁

testing serialization activerecord ruby-on-rails

6
推荐指数
1
解决办法
1485
查看次数