2008-07-19
■ [rails] ruby1.8.7だとString#truncateが失敗する
ruby1.8.7でString#charsが追加されたため、ActiveSupportが定義してた charsとバッティングしたらしい。後者が配列を返すのに対し 前者はEnumeratorを返すので、#lengthが呼べなくてエラーになるようだ。
せめてActiveSupportがStringに直接charsを定義していたら大丈夫だったのだけど、 「charsが定義されたUnicodeというモジュールをStringにmixinする」という形だったので、 Unicode#charsより(ruby1.8.7の)String#charsが優先して呼ばれてしまう。
アドホックな対処法は以下: