module MongoidHacks
module AttrAccessible
extend ActiveSupport::Concern
included do
cattr_accessor :attr_accessible_list
end
module ClassMethods
def attr_accessible(*args)
self.attr_accessible_list = *args
end
end
module InstanceMethods
def attributes=(attrs)
super attrs.slice(*attr_accessible_list)
end
def update_attributes(attrs)
super attrs.slice(*attr_accessible_list)
end
end
end
end
For example,
class Page
include Mongoid::Document
include Mongoid::Timestamps
include MongoidHacks::AttrAccessible
attr_accessible :name, :title, :body