Rails 3を使用していますが、次のようなエラーが発生します。
undefined method `persisted?' for []:Array
この問題を解決するためにモンキーパッチを適用したいと思います。まず第一に:それはどのように見えるはずですか?RubyのソースコードでのArrayクラスのネストについてはほとんど知りません。ガイダンスをいただければ幸いです。
Rails 3を使用していますが、次のようなエラーが発生します。
undefined method `persisted?' for []:Array
この問題を解決するためにモンキーパッチを適用したいと思います。まず第一に:それはどのように見えるはずですか?RubyのソースコードでのArrayクラスのネストについてはほとんど知りません。ガイダンスをいただければ幸いです。
基本的に、他のクラスと同じようにクラスと関数を記述するだけで、元のクラス定義に追加されます。
そのようです:
class Array
def persisted?
# Does it persist?
end
end
モンキーパッチは次のようになります。
# 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 インスタンスが永続化されているかどうかを尋ねるとは、どういう意味でしょうか?