我试图在 Rails 应用程序中进行有条件的 before_save 操作,但它似乎不起作用。
before_save method_call_to_run if self.related_model.some_method_that_returns_t_or_f?
如果 'some_method_that_returns_t_or_f' 返回 true,我希望它在保存对象之前运行该方法,否则我只想它忽略 before_save。
你可以使用:如果
before_save do_something, :if => Proc.new {|model| model.some_boolean_attr_or_method }
或者简单地
before_save do_something, :if => some_condition
EDIT:
为了快速参考,有一个关于此的优秀指南:
http://guides.rubyonrails.org/active_record_callbacks.html#conditional-callbacks http://guides.rubyonrails.org/active_record_callbacks.html#conditional-callbacks
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)