instance method
human
Ruby on Rails 8.0.4
Since v3.0.20Signature
human(options = {})
Transform the model name into a more human format, using I18n. By default, it will underscore then humanize the class name.
class BlogPost extend ActiveModel::Naming end BlogPost.model_name.human # => "Blog post"
Specify options with additional translating options.
Parameters
-
optionsopt = {}
Source
# File activemodel/lib/active_model/naming.rb, line 197
def human(options = {})
return @human if i18n_keys.empty? || i18n_scope.empty?
key, *defaults = i18n_keys
defaults << options[:default] if options[:default]
defaults << MISSING_TRANSLATION
translation = I18n.translate(key, scope: i18n_scope, count: 1, **options, default: defaults)
translation = @human if translation == MISSING_TRANSLATION
translation
end
Defined in activemodel/lib/active_model/naming.rb line 197
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::Name