ruby-on-rails – 如何在Mongoid中更改文档的_type?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在Mongoid中更改文档的_type?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Rails应用程序中有以下模型:
  1. class User
  2. include Mongoid::Document
  3. ...
  4. end
  5.  
  6. class Admin < User
  7. ...
  8. end

我得到一个用户

  1. u = User.find(some_key)

并尝试更改_type:

  1. u._type # => "User"
  2. u._type = "Admin"
  3. u.save
  4. u._type # => "Admin"

但是,如果我重新加载对象,它仍然是一个用户

  1. u.reload
  2. u._type = "User"

改变这个的正确方法是什么?

解决方法

你还可以使用 Model#update_attribute来保持mongoid:
  1. user.update_attribute(:_type,"Admin")

猜你在找的Ruby相关文章