instance method
generate_message
Ruby on Rails edge
Since v3.0.20Signature
generate_message(attribute, type = :invalid, options = {})
Translates an error message in its default scope
(`activemodel.errors.messages`).
Error messages are first looked up in `activemodel.errors.models.MODEL.attributes.ATTRIBUTE.MESSAGE`,
if it's not there, it's looked up in `activemodel.errors.models.MODEL.MESSAGE` and if
that is not there also, it returns the translation of the default message
(e.g. `activemodel.errors.messages.MESSAGE`). The translated model
name, translated attribute name, and the value are available for
interpolation.
When using inheritance in your models, it will check all the inherited
models too, but only if the model itself hasn't been found. Say you have
`class Admin < User; end` and you wanted the translation for
the `:blank` error message for the `title` attribute,
it looks for these translations:
* `activemodel.errors.models.admin.attributes.title.blank`
* `activemodel.errors.models.admin.blank`
* `activemodel.errors.models.user.attributes.title.blank`
* `activemodel.errors.models.user.blank`
* any default you provided through the `options` hash (in the `activemodel.errors` scope)
* `activemodel.errors.messages.blank`
* `errors.attributes.title.blank`
* `errors.messages.blank`
: (Symbol | String, ?untyped, ?untyped) -> untyped
Parameters
-
attributereq -
typeopt = :invalid -
optionsopt = {}
Source
# File activemodel/lib/active_model/errors.rb, line 558
def generate_message(attribute, type = :invalid, options = {})
Error.generate_message(attribute, type, @base, options)
end
Defined in activemodel/lib/active_model/errors.rb line 558
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::Errors