human(options={})
public
Transform the model name into a more humane format, using I18n. By default, it will underscore then humanize
the class name
BlogPost.model_name.human
Specify options with additional translating options.
# File activemodel/lib/active_model/naming.rb, line 26
def human(options={})
return @human unless @klass.respond_to?(:lookup_ancestors) &&
@klass.respond_to?(:i18n_scope)
defaults = @klass.lookup_ancestors.map do |klass|
[klass.model_name.i18n_key,
klass.model_name.i18n_key.to_s.tr('.', '/').to_sym]
end.flatten
defaults << options.delete(:default) if options[:default]
defaults << @human
options.reverse_merge! :scope => [@klass.i18n_scope, :models], :count => 1, :default => defaults
I18n.translate(defaults.shift, options)
end