ActiveRecord::Enum
wurde nur bei Rails unter commit db41eb8a
eingeführt, und bisher wurde dieses Commit nur mit Rails-Tag v4.1.0.beta1
veröffentlicht.
Es ist wahrscheinlich, dass das aktuelle Rails-Juwel, das Sie verwenden, dieses Commit noch nicht hat und daher nicht über den Code für die Implementierung von enum
verfügt.
Um zu überprüfen, um zu sehen, welche Version des Edelsteins Rails Sie haben, laufen:
bundle show rails
Ich lief bundle update
und dann bundle show rails
und zeige mir:
[PATH TO YOUR GEMS]/rails-4.0.2
Diese Version der Gem enthält den Code mit enum
nicht. Sie können dies durch comparing what is in v4.0.2
with what is in v4.0.1.beta1
sehen. Wenn Sie auf "Datei geändert" klicken und dann eine Suche auf der Seite für enum.rb
durchführen, werden Sie feststellen, dass dies vollständig neu hinzugefügter Code ist.
Wenn Sie, dass Sie die neu markierte Version von Rails gewährleisten, erhalten möchten, können Sie Ihre Gemfile ändern können, so dass Ihre Linie für einschließlich Schienen wie folgt aussieht:
gem 'rails', :git => 'git://github.com/rails/rails.git', :tag => 'v4.1.0.beta1'
Nachdem Sie eine bundle update
tun, können Sie siehe durch ein bundle show rails
zu tun, dass Sie die folgenden Schienen gem haben:
[PATH TO YOUR GEMS]/rails-f706d5f945c5
f706d5f945c5
den Commit ist, dass für die Freigabe v4.1.0.beta1
markiert wurde.
Nachdem Sie diese neueste Version des Rails Juwel erhalten haben, sollten Sie Zugang zu dieser enum
Funktionalität haben.
Ist 'enum' vielleicht ein reservierter Schlüssel? – lucke84
Ich möchte Schienen Enum-Modul wie >> http://edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html verwenden –
Welche Version von Schienen verwenden Sie? Weil Enums seit Version 4.1 unterstützt werden. – lucke84