1. ホーム
  2. ruby-on-rails

[解決済み] アクティブサポートコアエクステンションの使用方法

2022-12-12 14:19:59

質問

Active Support 3.0.3 をインストールし、Rails 3.0.3 と Ruby 1.8.7 を使用しています。

を使おうとすると 1.week.ago と表示されます。

NoMethodError: undefined method 'week' for 1:Fixnum
from (irb):2

他のコア拡張機能は動作するようです。友人のコンピューター (同じインストール仕様で、レガシー バージョンがある) で試しましたが、同じ結果でした。

どうしたのでしょうか?

全部IRBに書いてあります。

どのように解決するのですか?

Railsを使えば自動的に処理されるはずなので、Rails以外のスクリプトにActive Supportを追加しようとしているのだと仮定してみます。

"を読みます。 コア拡張機能のロード方法 "をご覧ください。

Rails 3ではActive Supportのメソッドが細分化されたので、単純な require 'activesupport' . 今、私たちは次のようなことをしなければなりません。

require 'active_support/core_ext/object/blank'

粒度を気にしないのであれば、より大きなチャンクを読み込むことを選択することができます。もし、すべてを一度に大きく飲み込みたいのであれば...

1.9.2 の場合。

rvm 1.9.2
irb -f
irb(main):001:0> require 'active_support/all'
=> true
irb(main):002:0> 1.week.ago
=> 2010-11-14 17:56:16 -0700
irb(main):003:0> 

1.8.7用です。

rvm 1.8.7
irb -f
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'active_support/all'
=> true
irb(main):003:0> 1.week.ago
=> Sun Nov 14 17:54:19 -0700 2010
irb(main):004:0>