Соглашения об именах Rails для моделей с запрещенными именами - PullRequest
2 голосов
/ 12 октября 2010

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

Ответы [ 4 ]

2 голосов
/ 12 октября 2010

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

1 голос
/ 13 октября 2010

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

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

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

0 голосов
/ 12 декабря 2013

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

0 голосов
/ 03 декабря 2010

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

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

...