2012-02-01 3 views
1

Active Support Core Extensions guideを見ると、その一部が利用できないように見えます。ここでは、新しいセッションからの逐語的な出力です:Rails 3.1.3では、配列#はプリペイド/追加が未定義ですか?

appendprependが廃止されていることや最先端だけなので、ここでは何が起こっているかを示すものは何もありません
$ rails --version 
Rails 3.1.3 
$ rails console 
[1] pry(main)> [].prepend(10) 
NoMethodError: undefined method `prepend' for []:Array 
from (pry):1:in `<main>' 
[2] pry(main)> [].unshift(10) 
=> [10] 
[3] pry(main)> %w(a b c d).append('e') 
NoMethodError: undefined method `append' for ["a", "b", "c", "d"]:Array 
from (pry):3:in `<main>' 
[4] pry(main)> %w(a b c d) << 'e' 
=> ["a", "b", "c", "d", "e"] 
[5] pry(main)> require 'active_support/core_ext/array' 
=> false 

?それはRails v3.2.1からのみ入手できますように

$ grep 'prepend\|append' ~/.rvm/gems/[email protected]_name/gems/activesupport-3.1.3/lib/active_support/core_ext/array/* 
$ ls ~/.rvm/gems/[email protected]/gems/activesupport-3.1.3/lib/active_support/core_ext/array/prepend_and_append.rb 
+0

レール3.0.7を使用していますが、同じエラーが発生しています。まあ、追加のために 'push'を使い、プリペンドするために' unshift'を使うことができます。 – nkm

+0

Railsの歴史の中で、ガイドが参照するファイルを実際に見つけることはできません。どのバージョンのRailsでこれを見ることができますか? –

答えて

4

これらの方法were added3.2.0であり、それぞれ<<およびunshiftのエイリアスにすぎません。

+0

彼がコミットにリンクしているため+1) – lucapette

+0

v3.1.3の*オンラインAPIリファレンス*が見つかりません。 api.rubyonrails.orgにはリンクがないようです。何かありますか? – l0b0

+0

Nevermindは、最終的に正しい[v3.1.3 API](http://api.rubyonrails.org/v3.1.3/)リンクを見つけました。 – l0b0

1

はルックス:これらは失敗しているため、これらは、実際のRails 3.1.3の一部ではないよう

が見えます。

+0

彼らは8月に追加されましたが、どのような3.1 gemソースにも存在しません。 https://github.com/rails/rails/commit/9482554f31f3ac7f941e6239890c60fcc01975e1#activesupport/lib/active_support/core_ext/array.rb – phoet

+0

私はそれらが後で 'v3.2.0'となる' master'ブランチに追加されたと思いますが、 '3-1安定'分岐にバックポートされません。 –

関連する問題