Making an entire model read-only with Mongoid

2019-05-07 17:12发布

问题:

I see that Mongoid supports read-only attributes. Is there a way to mark an entire document, or an entire collection / model class as read-only?

回答1:

You can access the fields class attribute and splat the hash's keys against attr_readonly. For example:

class Model
  include Mongoid::Document

  attr_readonly *fields.keys
end

Note that, fields.keys will include _id and _type.