Я пытался создать модель под названием «класс» (как в выпускном классе студентов), и столкнулся со всевозможными проблемами. Какие еще слова или имена классов следует избегать в Rails?
Некоторые ссылки, которые я нашел: http://juicebar.wordpress.com/2007/05/30/reserved-words-in-rails/ http://railsforum.com/viewtopic.php?id=22242
Эта страница содержит очень длинный список слов, которые нельзя использовать:
https://reservedwords.herokuapp.com/words
Поскольку «класс» очень часто встречается как имя с метапрограммированием, я думаю, что принятой альтернативой ruby является «класс». Это, очевидно, отличается от вашей ситуации с выпускным классом, но, возможно, все еще полезно.
У вас там большинство из них. Очевидно, вам также следует избегать ключевых слов Ruby:
alias and BEGIN begin break case class def defined do else elsif END end ensure false for if in module next nil not or redo rescue retry return self super then true undef unless until when while yield
(от http://www.zenspider.com/Languages/Ruby/QuickRef.html#4).
Кроме того, не называйте модель Transaction (но об этом предупреждает генератор!).
Transaction
Class - это встроенный класс ruby. Это то, что классы являются экземпляром.
Class
class Foo end puts Foo.class # => Class
Переопределение, которое взрывает всю структуру объекта в Ruby.