Mar*_*ski 6 testing serialization activerecord ruby-on-rails
我在测试中遇到了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序列化不在那里工作,但我不知道如何使其工作.
任何建议将不胜感激.
马丁
毕竟,为了绕过这个问题,我需要直接调用数据库中的数据,而不涉及“序列化”AR 方法。
YAML::load(User.first.roles_before_type_cast)
Run Code Online (Sandbox Code Playgroud)
现在测试环境也直接解析数据并给我正确的角色数组。
| 归档时间: |
|
| 查看次数: |
1485 次 |
| 最近记录: |