我在Rails应用程序中有以下模型:
class User include Mongoid::Document ... end class Admin < User ... end
我得到一个用户:
u = User.find(some_key)
并尝试更改_type:
u._type # => "User" u._type = "Admin" u.save u._type # => "Admin"
但是,如果我重新加载对象,它仍然是一个用户:
u.reload u._type = "User"
改变这个的正确方法是什么?
解决方法
你还可以使用
Model#update_attribute来保持mongoid:
user.update_attribute(:_type,"Admin")