module ActiveModel::Naming
def model_name
Person.model_name.singular # => "person"
Person.model_name.class # => ActiveModel::Name
Person.model_name.name # => "Person"
end
extend ActiveModel::Naming
class Person
(See ActiveModel::Name for more information).
used to retrieve all kinds of naming-related information
Returns an ActiveModel::Name object for module. It can be
def model_name @_model_name ||= begin namespace = module_parents.detect do |n| n.respond_to?(:use_relative_model_naming?) && n.use_relative_model_naming? end ActiveModel::Name.new(self, namespace) end end