MongoDB Mongoid 中 attr_protected 错误: NoMethodError: undefined method `attr_protected' for User:Class

mingmingpao · 2015年04月09日 · 最后由 king1990_cool 回复于 2015年04月09日 · 3024 次阅读

现在用Mongoid4.0了, 配置

class User
    include Mongoid::Document
    field :first_name, type: String
    field :password, type: String
    attr_protected :password # focus this
end

出现了标题的错误. 我想要在model层禁止更新密码, 思路来源于 http://mongoid.org/en/mongoid/docs/documents.html#security

共收到 1 条回复

mongo4.0已经取消了attr_protected 而且3.1.6里面也是继承自 ActiveSupport里面的,这个你可以自己去看 https://github.com/mongoid/mongoid/releases/tag/v3.1.6 里面filelds的源码 由于activerecord3.0之后也不提供这个方法了 http://apidock.com/rails/ActiveRecord/Base/attr_protected/class 所以你使用4.0的mongoid就会报错了,不过不知道有没有新的替代方法,用active_record比较少。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册