回调 after_destroy 未通过 ActiveAdmin 触发

2024-02-01

我使用 ActiveAdmin 作为我的应用程序的后台,我有以下三个模型:

class Organization
  has_many :organization_collection_relations
  has_many :collections, through: :organization_collection_relations
end

class OrganizationCollectionRelation
  belongs_to :organization
  belongs_to :collection

  after_destroy :do_something
end

class Collection
  has_many :organization_collection_relations
  has_many :organizations, through: :organization_collection_relations
end

在我的编辑页面中Organization我有和f.input :collections。当我编辑和组织时,例如删除所有集合,问题就出现了。这after_destroy回调方法do_something没有被触发。因此,我必须在活动管理文件的控制器部分中采取解决方法。

controller do
  def update
    resource = Organization.find(params[:id])
    former_ids = resource.collection_ids
    super
    new_ids = resource.reload.collection_ids
    # my logic here
  end
end

我认为有更好的方法来处理这个问题......


Active Admin 也有自己的回调,因此您可以在管理文件夹中的organizations.rb 文件中使用如下所示的回调。

  after_destroy do |organization|
    # do your stuff
  end

我之前为 before_save 和 after_save 完成了它,我不确定它是否可用于 after_destroy 你可以查看here https://github.com/activeadmin/activeadmin/blob/master/lib/active_admin/callbacks.rb有关主动管理回调的更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

回调 after_destroy 未通过 ActiveAdmin 触发 的相关文章

随机推荐

  • 克隆git仓库失败

    当我尝试从存储库克隆以下内容时 git clone git gitorious org qt qt5 git qt5 我收到此错误 fatal Unable to look up gitorious org port 9418 This i
  • Django 找不到静态文件。需要第二双眼睛,我快疯了

    Django 不会为我的静态文件提供服务 这是error回到 13 Jun 2014 06 12 09 GET refund HTTP 1 1 200 2927 13 Jun 2014 06 12 09 GET static css boo
  • SeleniumBasic VBA 使用 WebElement 方法最快的 WebElement 循环

    我注意到完成操作需要相当长的时间 我正在使用最新的 SeleniumBasic for VBA 使用 ChromeDriver 从表中提取数据 https github com florentbr SeleniumBasic https g
  • 渐变作为按钮边框颜色?

    我想为 Xamarin Forms 按钮设置渐变边框颜色 我怎样才能做到这一点 Current Desire 有一些选项通过 Google 上升到了顶峰 但似乎没有一个选项是独立于平台且适用于 Button 的 举几个例子 使用WebVie
  • 在页面内的 div 中显示控制台错误和警报

    我正在为我的网络应用程序构建一个调试工具 我需要在 div 中显示控制台错误 我知道我可以使用自己制作的类似控制台的对象并使用它 但为了将来的使用 我需要将所有控制台错误发送到 window 实际上我想捕获控制台事件 要保持控制台正常工作
  • create-react-app React Js 的漏洞

    每次我创建一个反应应用程序时npx create react app
  • jquery 选择删除选项

    我目前正在成功使用它来删除选项 select select gender option value initial remove 有没有办法删除选项而不添加到选择器 如下所示 select select gender val initial
  • 过滤涉及安全约束的请求

    我有一个 Java Web 应用程序 它使用安全约束来锁定对资源的访问 当 Ajax 请求需要身份验证时 我尝试操纵 HTTP 401 响应 因此我创建了一个过滤器来观察响应中的 HTTP 状态并根据需要进行相应修改 问题是 似乎如果需要身
  • 使用lambda表达式连接pyqt中的槽

    我正在尝试将插槽与 lambda 函数连接起来 但它没有按我预期的方式工作 在下面的代码中 我成功正确连接了前两个按钮 对于我循环连接的后两个 这是错误的 之前有人问过同样的问题 Qt 使用 lambda 将槽与参数连接 https sta
  • OrderedDict 不按顺序排列

    这个循环的想法是迭代列表 如果对象的某个属性不是 OrderedDict 的键 则会添加它 它是对象列表的字典 for object in someList if object DATE not in myOrderedDict myOrd
  • 使 Omni 能够在 Windows 上的 vim 7.2 上运行

    我正在尝试将 Omni Complete 功能与 gVim 7 2 一起使用 但在 Windows 上我不断收到一条错误消息 错误 需要使用 python 编译 vimE117 未知功能 pythoncomplete complete 看起
  • 如何确定变量的内存占用(大小)?

    PHP 或 PHP 扩展 中是否有函数可以找出给定变量使用了多少内存 sizeof只是告诉我元素 属性的数量 memory get usage有帮助的是它给了我所使用的内存大小whole脚本 有没有办法对单个变量执行此操作 请注意 这是在开
  • django 排除的性能问题

    我有一个 Django 1 8 应用程序 并且使用 MsSQL 数据库 以 pyodbc 作为数据库后端 使用 django pyodbc azure 模块 我有以下型号 class Branch models Model name mod
  • BroadcastReceiver如何启动新意图

    我实现了一个广播接收器 以便在互联网连接丢失时 阻止 我的应用程序 我所说的阻止是指应用程序必须打开 无互联网连接 活动 这是我的接收器代码 public class ConnectivityReceiver extends Broadca
  • Gradle:将所有测试依赖项复制到 zip 文件

    我对 gradle 很陌生 所以也许我问的问题很简单 我正在寻找一种解决方案 将 testCompile 范围内的所有依赖项放入 zip 文件中 我检查了http forums gradle org gradle topics how do
  • 如何在 JavaScript 中访问当前范围之外的变量?

    我正在用 javascript 编写一个应用程序 但无法弄清楚如何访问此 jquery 解析中函数中声明的变量 在内部我可以访问全局变量 但我真的不想为这些值创建全局变量 基本上我想从 xml 文档中提取文件名simulationFiles
  • chrome.identity.getAuthToken 不起作用

    我正在使用 Chrome Identity API 在我的 Chrome 扩展程序上为用户提供 Google 身份验证 我参考了Google官方教程 链接 Chrome 身份 API https developer chrome com a
  • BIRT 的 HTMLRenderReport 向嵌入图像添加类似“file://”的 url(而不是将它们嵌入到 HTML 中)

    我有一个 BIRT 报告 母版页中有一个图像 我的 BIRT 设计文件 我在报告中嵌入了一个 png 它在执行后生成了以下 XMLbody tag
  • JavaScript 中字符串的子类化

    我有一个字符串方法String prototype splitName 将作者姓名 字符串 拆分为名字和姓氏 该声明var name authorName splitname 返回一个对象字面量name with name first an
  • 回调 after_destroy 未通过 ActiveAdmin 触发

    我使用 ActiveAdmin 作为我的应用程序的后台 我有以下三个模型 class Organization has many organization collection relations has many collections