Подтвердить что ты не робот

Зарезервированные имена с помощью моделей ActiveRecord

Я очень серьезно отношусь к именованию, поэтому считаю, что довольно неплохо отношусь к хорошим именам для своих моделей ActiveRecord. Тем не менее, я часто придумываю имя и конфликтует с зарезервированным именем либо в базе данных, либо в Ruby или Rails. Имена моделей или полей, например set или group. Иногда проблема не сразу очевидна. Есть ли список имен, которые мы не можем использовать в наших именах моделей и список имен полей?

4b9b3361

Ответ 1

Вот несколько ресурсов, чтобы вы начали:

  • Rails reserved слова. Это похоже на то, что оно довольно актуально, последнее обновление обновлено в феврале 2010 года. Оно даже выходит за рамки рельсов и перечисляет некоторые общие конфликты имен с SQL. dead
  • Зарезервированные слова в рельсах. Здесь живет приложение heroku, в котором есть таблица поиска зарезервированных рельсов. Контент на этом, похоже, управляется пользователями, поэтому любой, у кого есть аккаунт, может добавить новое слово.

Ответ 2

Имя столбца type также зарезервировано и не отображается в списке MyModel.methods!

The single-table inheritance mechanism failed to locate the subclass: 'f'. This error is raised because the column 'type' is reserved for storing the class in case of inheritance. Please rename this column if you didn't intend it to be used for storing the inheritance class or overwrite Project.inheritance_column to use another column for that information.

Есть ли у кого-нибудь опыт работы с такими именами, как category, class, transaction, group и т.д.? Все в виду, когда я категоризую данные в моем db....

Ответ 3

Откройте консоль рельсов и введите MyModel.methods

Все перечисленные методы - это зарезервированные слова.