gpt4 book ai didi

ruby-on-rails - 未通过 ActiveAdmin 触发 after_destroy 回调

转载 作者:行者123 更新时间:2023-12-04 07:40:40 24 4
gpt4 key购买 nike

我将 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 部分做一个解决方法。
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 也有自己的回调,因此您可以在 admin 文件夹中的 organizations.rb 文件中使用如下所示。

  after_destroy do |organization|
# do your stuff
end

我之前为 before_save 和 after_save 做过我不确定它是否可用于 after_destroy 你可以查看 here更多关于主动管理回调。

关于ruby-on-rails - 未通过 ActiveAdmin 触发 after_destroy 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52734257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com