mongodb/mongoid · error · Mongoid::Errors::InvalidField
Defining a field named '%{field}' is not allowed.
Error message
Defining a field named '%{field}' is not allowed. What it means
Error "Defining a field named '%{field}' is not allowed." thrown in mongodb/mongoid.
Source
Thrown at lib/mongoid/fields/validators/macro.rb:66
[ name, :"#{name}?", :"#{name}=" ].each do |n|
raise Errors::InvalidRelation.new(klass, n) if Mongoid.destructive_fields.include?(n)
end
end
# Determine if the field name is valid, if not raise an error.
#
# @example Check the field name.
# Macro.validate_field_name(Model, :name)
#
# @param [ Class ] klass The model class.
# @param [ Symbol ] name The field name.
#
# @raise [ Errors::InvalidField ] If the name is not allowed.
#
# @api private
def validate_field_name(klass, name)
[ name, :"#{name}?", :"#{name}=" ].each do |n|
raise Errors::InvalidField.new(klass, name, n) if Mongoid.destructive_fields.include?(n)
end
end
private
# Determine if the field name is unique, if not raise an error.
#
# @example Check the field name.
# Macro.validate_name_uniqueness(Model, :name, {})
#
# @param [ Class ] klass The model class.
# @param [ Symbol ] name The field name.
# @param [ Hash ] options The provided options.
#
# @raise [ Errors::InvalidField ] If the name is not allowed.
#
# @api private
def validate_name_uniqueness(klass, name, options)View on GitHub (pinned to 0da0e23d71)
When it happens
Trigger: Thrown at lib/mongoid/fields/validators/macro.rb:66 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of mongodb/mongoid@0da0e23d71 (2026-08-23).
Data as JSON: /api/errors/dbb454f23662e789.
Report an issue: GitHub.