ActiveRecord::Enum
был введен только для Rails в commit db41eb8a
, и до сих пор это фиксация была выпущена только с тегом Rails v4.1.0.beta1
.
Вполне вероятно, что текущий камень Rails, который вы используете, еще не имеет этого фиксации и, следовательно, не имеет кода для реализации enum
.
Чтобы проверить, какая версия драгоценного камня Rails у вас есть, запустить:
bundle show rails
Я просто побежал bundle update
, а затем bundle show rails
, и я показываю:
[PATH TO YOUR GEMS]/rails-4.0.2
Эта версия gem не включает код с enum
. Вы можете видеть это на comparing what is in v4.0.2
with what is in v4.0.1.beta1
. Если вы нажмете «File Changed», а затем выполните поиск на странице для enum.rb
, вы увидите, что это полностью новый код.
Если вы хотите, чтобы убедиться, что вы получите вновь помеченную версию Rails, вы можете изменить ваш Gemfile так, что ваша линия, включая рельсы выглядит следующим образом:
gem 'rails', :git => 'git://github.com/rails/rails.git', :tag => 'v4.1.0.beta1'
После сделать bundle update
, вы можете см, делая bundle show rails
, что у вас есть следующие рельсы камень:
[PATH TO YOUR GEMS]/rails-f706d5f945c5
f706d5f945c5
является коммит, который был помечен для выпуска v4.1.0.beta1
.
После того, как вы получите эту версию с красными краями Rails, у вас должен быть доступ к этой функции enum
.
Возможно, 'enum' зарезервированный ключ? – lucke84
Я хочу использовать модуль reum enum как >> http://edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html –
Какую версию рельсов вы используете? Поскольку перечисления поддерживаются начиная с версии 4.1. – lucke84