tableize
будет множить вашу строку независимо от того, был ли оригинал единственным или множественным, в то время как underscore
будет только подчеркивать.
Хотя это может показаться тривиальным, все дело в абстрагировании деталей реализации базы данных от разработчика. Если в будущем Rails начнет форматировать имена таблиц по-другому, единственный метод, который нужно будет изменить, будет tableize
. Все остальные места в коде Rails, которые ссылаются на имена таблиц, могут остаться прежними, потому что они все еще вызывают метод tableize
. Поэтому изменение базовой структуры рельсов ограничено и наносит гораздо меньший ущерб.
В информатике это называется "ортогональностью". Теперь, когда вы знаете, что это значит, попробуйте бросить это в разговоре, чтобы выглядеть умнее. У меня сработало? :)