这很简单。
我正在尝试使用mongoid的'after_destroy'回调来做一些清理操作。
如
class Model
include Mongoid::Document
after_destroy do |model|
#Do cleanup stuff
end
end
从mongo中删除对象有两种方法。删除和销毁。Destroy会运行回调,而Delete不会。
模型的路由是这样声明的
resources :models
所以我的问题是,当有人向models/delete发送请求时,destroy方法被调用还是delete方法被调用?
如果是后者,那么是否有办法在mongo中使用delete函数运行回调?
在resources :models
中创建的HTTP方法:delete与模型中使用的方法没有直接关系。HTTP delete调用这个方法:
class ModelsController < ApplicationController
def delete
model = Model.find(params[:id])
model.destroy
redirect_to models_path, notice: "Model removed"
end
end
你可以在控制器中将"delete"更改为"destroy"来满足你的需要。