Rails использует ActiveSupport :: Inflector для отслеживания слов и способов их изменения. Например, Rails будет знать, как хранить UserPreference в user_preferences
Вы также можете добавить свои инфлексии к инфлектору для обработки странных случаев, когда добавление s не имеет смысла.
В /config/initializers/inflections.rb вы получаете следующее:
ActiveSupport::Inflector.inflections do |inflect|
inflect.plural /^(ox)$/i, '\1en'
inflect.singular /^(ox)en/i, '\1'
inflect.irregular 'person', 'people'
inflect.uncountable %w( fish sheep )
end
http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html