2010-10-12 3 views
2

Я пишу приложение для рельсов, и мне нужно назвать один из моих тестовых моделей, и внутри этой модели мне нужен атрибут класса - когда я попробовал первый, t запускать любой UT, так как Test перестает быть модулем, поэтому я перешел на Tst. Я даже не пробовал называть класс столбца - я пошел с clss. Какие имена вы бы использовали? Существуют ли какие-либо соглашения, известные среди разработчиков RoR для таких ситуаций?Соглашения о присвоении имен Rails для моделей с запрещенными именами

ответ

2

Я ничего не видел для теста, но класс обычно изменен на класс.

1

Ruby and Rails имеют несколько различных объектов, входящих в стандартную библиотеку. Вы не можете использовать уже определенное имя класса в качестве имени для своих моделей.

Например, вы не можете назвать модель Thread или Object, поскольку Ruby уже определяет класс Thread и Object. Аналогично, Ruby имеет библиотеку под названием Test::Unit, поэтому вы не можете использовать пространство имен в качестве имени модели.

Существует не полный список резервных объектов, потому что это действительно зависит от вашей текущей среды. Однако, чтобы успешно использовать Rails, вы должны, по крайней мере, иметь базовое знание Ruby, чтобы вы знали имена наиболее распространенных стандартных классов библиотеки.

+0

Я не спрашиваю, могу ли я или не могу использовать эти имена - я спрашиваю, как их назвать, и есть ли какие-либо самые известные практики. – dahpgjgamgan

0

Я несколько раз сталкивался с этим (написав образовательное программное обеспечение - где вы регулярно хотите моделировать «тесты» :-). Полагаю, что именно вы моделируете, но я обычно выбираю «викторину», чтобы избежать конфликтов. Мне бы хотелось услышать лучшее решение, так как я нахожу «викторины» неуклюжим множественным числом.

Как и dj2, класс обычно делается как «класс».

+0

Я пошел с tst. – dahpgjgamgan

0

Пожалуйста, проверьте следующую страницу для зарезервированных слов Rails: http://reservedwords.herokuapp.com/ Ни одно из этих слов не должно использоваться как имя класса или атрибута.

Смежные вопросы