Bu yanıtı maymun yama https://stackoverflow.com/a/21446021'a arıyorum.Bir gemide tek bir yöntemi maymun eklerken, uygulamasındaki etkin bir kaydın farkında olabilir mi?
Bu örnekte, taş (bir başkasının kitaplığı), sonunda yamama yöntemini çağıracak olan someMethod() yöntemine sahiptir.
Uygulamam) sonunda yamalı yöntemini çağırmak için gidiyor (bu
activeRecord = ... # gets an ActiveRecord object that I want to update
options = {..}
@gem_object = SomeLibrary::Class.new(options)
@gem_object.someMethod()
Şimdi birYöntem benziyor. Yamalı yöntemin activeRecord'dan haberdar olmasını ve böylece güncellemesini sağlamak istiyorum. SomeMethod() çağrıldığında stackRe trace'deki tüm yöntemlere activeRecord parametresini eklemekten kaçınabileceğimi merak ediyorum.
Orada yokken nesneyi geçirmenin bir nedeni yok. Modellerinize yamalı yöntemle erişebilirsiniz. –
Bu SQL'i tekrar çalıştırmaz mıydı? Uygulamamda zaten aktif kayıt nesnesinin bir örneğim var. – gravitas
, SQL'i yeniden çalıştırırdı, ama bu gerçekten kötü bir şey mi? Sorguyu iki kez bir kez yaparak gerçekten ne kadar performans kazanıyorsunuz? Raylar konsolunuzdaki sorgu süresini görebilirsiniz - basit sorgular milisaniye alır. –