当一个或多个关联发生变化时,我只想调用一些方法。
答案 0 :(得分:0)
我猜你要找的是回调:
http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
例如:
after_destroy :do_something
private
def do_something
...
end
答案 1 :(得分:0)
您可以使用set_callback
回调,即
np.array(1)
答案 2 :(得分:0)
如果您不介意确切地知道哪个相关记录发生了变化,那么触摸它会很好:
class Post < ActiveRecord::Base
belongs_to :category, touch: true
end
class Category < ActiveRecord::Base
has_many :posts
after_touch :update_name_cache
private
def update_name_cache
PostNameCache.new( self ).set posts.pluck :name
end
end