Ich habe Active Support 3.0.3 und Rails 3.0.3 mit Ruby 1.8.7 installiert.
Wenn ich versuche zu benutzen, 1.week.ago
bekomme ich
NoMethodError: undefined method 'week' for 1:Fixnum
from (irb):2
Die anderen Kernerweiterungen scheinen zu funktionieren. Ich habe es auf dem Computer eines Freundes versucht (dieselben Installationsspezifikationen und Legacy-Versionen sind auf seinem Computer), mit denselben Ergebnissen.
Was gibt?
All dies ist in IRB.
ruby-on-rails
ruby
time
extension-methods
activesupport
Griotspeak
quelle
quelle
Antworten:
Da die Verwendung von Rails dies automatisch erledigen sollte, gehe ich davon aus, dass Sie versuchen, einem Nicht-Rails-Skript Active Support hinzuzufügen.
Lesen Sie " Laden von Core Extensions ".
Die Methoden von Active Support wurden in Rails 3 in kleinere Gruppen aufgeteilt, sodass wir nicht viele nicht benötigte Dinge mit einem einfachen laden müssen
require 'activesupport'
. Jetzt müssen wir Dinge tun wieWenn Sie sich nicht für Granularität interessieren, können Sie größere Blöcke laden. Wenn Sie alles in einem großen Zug wollen, verwenden Sie ...
Für 1.9.2:
Für 1.8.7:
quelle
irbtools
. Es enthält alle möglichen netten Verbesserungen an IRB. Wenn Sie sie vorübergehend deaktivieren müssen, rufen Sie anirb -f
und sie werden nicht geladen.Sie können Bibliotheken über die bereits erwähnten granular hinzufügen
Es gibt auch eine andere Ebene, wo Sie können
Aber im Moment ist dies leider nicht verfügbar für
Time
,Date
undDateTime
.Ein Weg , um dies zu ,
require 'active_support/time'
die SieTime
,Date
undDateTime
der die OP bittet um alles , ohne lösen würde.Mein Rails-Patch , der hinzufügt
active_support/core_ext/date
hinzugefügt unddate_time
in Rails v4.0.0 aufgenommen wurde , sodass Sie diese jetzt einzeln anfordern können. YAY!quelle
In meinem Fall hat der folgende Link funktioniert:
https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html
quelle
Funktioniert das von der Konsole aus? Das funktioniert bei mir:
quelle
Sie können:
'active_support / core_ext' benötigen
oder:
'active_support / all' benötigen
quelle