Çoklu Karışımlarda kullanıldığında include
ifade davranışını anlamaya çalışıyorum."Sonraki" karışım modülleri için `include` deyim davranışını anlama
class Article < ActiveRecord::Base
include DoubleIncludedModule
include AModule
# ...
end
module AModule
include DoubleIncludedModule
# ...
end
module DoubleIncludedModule
# ...
end
kaç kere Article
sınıfa dahil DoubleIncludedModule
olacaktır: yani, ben bu ifadeleri var? Yani, DoubleIncludedModule
'un (sonraki Article
sınıfında ve ardından Article
sınıfının kendisinde bulunan AModule
'da yer alan "sonraki" eklenmesi), Ruby tarafından otomatik olarak işlenen "çift eklenme" sorunu olacak veya DoubleIncludedModule
(yanlış) dahil edilecektir. iki kere?
Elbette, DoubleIncludedModule
modülü modülünü yalnızca bir kez eklemek istiyorum. Bunu (belki de bazı Ruby on Rails yöntemlerini kullanarak) uygun şekilde nasıl yapabilirim?
Sadece Rails kullandığınız için sorunun Rails ile ilgili bir anlamı olmadığı anlamına gelmez. Raylar, 'include' işlevinin nasıl çalıştığını değiştirmez. Bu tamamen bir Ruby sorusudur. –
@Andrew Marshall - Bu, bazı sorunları olduğu gibi çözmeye yardımcı olabilecek bazı Ruby on Rails yöntemlerinde mevcut olabilir. – Backo