2011-06-20 23 views
23

Raylar uygulamasında koşullu bir before_save yapmaya çalışıyorum, ancak çalışmıyor gibi görünüyor. 'Some_method_that_returns_t_or_f' true döndürürse o nesneyi kaydeder önceBir before_save koşullu hale getirmenin bir yolu var mı?

before_save method_call_to_run if self.related_model.some_method_that_returns_t_or_f? 

, aksi takdirde ben sadece before_save görmezden istiyorum o yöntemini çalıştırmak istiyorum.

cevap

2

Raylarda 5 Boolean mantığını içeren ve onu bir sembol olarak geçiren özel bir yöntemi tanımlayan başarı elde ettim (bu son kısım bir gereksinim gibi görünüyor). Başka bir deyişle:

before_save do_something, if: :private_boolean_method?

Bu ince bir fark var ama zarif bir çözüm gibi görünüyor.

İlgili konular