1

Rails 3を使用していますが、次のようなエラーが発生します。

undefined method `persisted?' for []:Array

この問題を解決するためにモンキーパッチを適用したいと思います。まず第一に:それはどのように見えるはずですか?RubyのソースコードでのArrayクラスのネストについてはほとんど知りません。ガイダンスをいただければ幸いです。

4

2 に答える 2

7

基本的に、他のクラスと同じようにクラスと関数を記述するだけで、元のクラス定義に追加されます。

そのようです:

class Array
    def persisted?
        # Does it persist?
    end
end
于 2010-11-13T23:36:47.100 に答える
3

モンキーパッチは次のようになります。

# patches/array.rb
class Array # Array is a top-level class
  def persisted?
    false # or your own implementation
  end
end

# some/other/script.rb
require 'path/to/patches/array.rb'
my_array = [1, 2, 3]
puts my_array.persisted?

さて: Array インスタンスが永続化されているかどうかを尋ねるとは、どういう意味でしょうか?

于 2010-11-13T23:37:32.167 に答える