5 EKİM 2010, Salı
Öznitelikleri after_save geri Raylar değişti ne olduğunu belirlemek?
Model benim gözlemci olarak after_save bir geri arama eğer bu model ise sadece bir bildirim göndermek için hazırlıyorumyayınladıöznitelik true false olarak değiştirildi. Yöntemleri yana gibideğişti?model kaydedilmeden önce sadece yararlıdır, şu anda (ve başarısız) öyle yapmaya çalışıyorum şekilde aşağıdaki gibidir:
def before_save(blog)
@og_published = blog.published?
end
def after_save(blog)
if @og_published == false and blog.published? == true
Notification.send(...)
end
end
Herkes bu, tercihen modeli gözlemci geri çağrıları kullanarak halletmenin en iyi yolu olarak herhangi bir öneriniz benim denetleyicisi kodu kirletme değil () var mı?
CEVAP
5 EKİM 2010, Salı
Model üzerinde after_update
filtreolabilir_changed?
erişimci (en az 3 Raylar, Raylar için değil emin 2) kullanın. Örneğin:
class SomeModel < ActiveRecord::Base
after_update :send_notification_after_change
def send_notification_after_change
Notification.send(...) if (self.published_changed? && self.published == true)
end
end
Çok işe yarıyor.
Bunu Paylaş:
'in ne "nedeni:seçilemez old...
Nasıl bir şey bir boolean olduğunu doğ...
3 özelliği kontrol eğer raylar değişti...
Raylar Geçiş bir dosyayı geri almak iç...
Katılmak modeli öznitelikleri düzenlem...