当我my_record.save
时,我可以通过参数或其他内容告诉记录不要将其称为回调吗?下面是我为我的对象设置的回调。
class Measurable < ActiveRecord::Base
after_save :summarize_measurables_for_player
# ...
def summarize_measurables_for_player
# ...
end
end
修改
此回调用于当某人更改可测量值时,然后计算Measurable_Type
的首选值,然后将该值存储在另一个对象的列上。这使我可以更快地检索信息。但是,我不想在导入信息时调用它。因为它会在每次更改后汇总。导入所有信息然后在我想的时候总结所有值是一个更快的过程。
答案 0 :(得分:3)
在您的情况下,我将attr_accessor添加到模型中,如果设置为true,则跳过此方法。
class Measurable < ActiveRecord::Base
after_save :summarize_measurables_for_player, :unless => :skip_summarize
attr_accessor :skip_summarize
# ...
def summarize_measurables_for_player
# ...
end
end
然后在导入中,您可以在导入对象的属性中设置:skip_summarize => true
。