разница между таблицей и подчеркиванием в рельсах - PullRequest
5 голосов
/ 30 января 2010

Не уверен, какая разница между подчеркиванием (student_state) и tableize (student_states), кроме tableize, также множит. Однако не уверен, как их можно использовать по-другому. Очевидно, что вы можете использовать tableize для ссылки на имя таблицы в база данных. Но то, что подчеркивает другая функциональность, например, когда вы видите: student_state по сравнению с: student_states при использовании в качестве символов. Спасибо за предложения.

1 Ответ

11 голосов
/ 30 января 2010

tableize будет множить вашу строку независимо от того, был ли оригинал единственным или множественным, в то время как underscore будет только подчеркивать.

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

В информатике это называется "ортогональностью". Теперь, когда вы знаете, что это значит, попробуйте бросить это в разговоре, чтобы выглядеть умнее. У меня сработало? :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...