我有一个 2 级嵌套模型:
country <- state <- city
目前,在每个控制器中,在所有 CRUD 操作后,我都会找到它的父模型并.touch
为每个模型运行。例如:
# cities_controller.rb
def update
@state = State.find(params[:state_id])
@country = Country.find(@state.id)
...
@state.touch
@country.touch
end
对于 , 中的每个操作state
,city
只要 CRUD 成功完成,我就会触摸其父级(及其父级的父级)。
有没有 DRYer 方法可以做到这一点?我知道autosave
选项,但它只适用于新创建的关联记录。我还想包括已销毁、更新的记录。如果一个city
被改变了,它state
也country
将被加上时间戳以反映某些东西已经改变了。
非常感谢。