ruby on rails - Do资源路由使用Delete或Destroy来删除一个Mongoid文档



这很简单。

我正在尝试使用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"来满足你的需要。

最新更新