删除关系未被审核 gem
Removing relations is not being audited by audited gem
我正在使用 Associated Audits on a has_many through
relation with Collective Idea's audited gem。我看到正在添加 through
模型的 create
审计,但是删除该关系后我没有看到任何审计。
这是我的 3 个模型。一个Post
可以在多个Categories
.
app/models/post.rb
class Post < ActiveRecord::Base
audited
has_associated_audits
has_many :categorizations, dependent: :destroy
has_many :categories, through: :categorizations
end
app/models/category.rb
class Category < ActiveRecord::Base
audited
has_associated_audits
has_many :categorizations, dependent: :destroy
has_many :posts, through: :categorizations
end
app/models/categorization.rb
class Categorization < ActiveRecord::Base
audited
audited associated_with: :post
audited associated_with: :category
belongs_to :category
belongs_to :post
end
我的 Post
表单有一堆用于分类的复选框:
<%= f.association :categories, as: :check_boxes, collection: Category.order(:name), label_method: :name, value_method: :id, label: false %>
- 当我编辑现有的
Post
并 选中 框 Category
时,我 做 看到在审计操作字段中具有 create
值的新审计条目。
- 当我编辑现有的
Post
并 取消选中 Category
的框时,我 不 查看新的审核条目。
当我删除 Post
时,我确实看到 destroy
对 Post
和 Categorization
auditable_type 字段的审计,所以这方面工作得很好。
- audited 可以跟踪那些取消选择吗?如果可以,怎么做?
- 关于我在上述模型中审核的设置,有什么明显的 bad/wrong 吗?没有
has_many through
文档可以遵循,所以我猜了一点。
可能与 this Rails issue 有关,我不得不换掉我的 dependent: :destroy
行:
app/models/post.rb
class Post < ActiveRecord::Base
audited
has_associated_audits
has_many :categorizations
has_many :categories, through: :categorizations, dependent: :destroy
end
app/models/category.rb
class Category < ActiveRecord::Base
audited
has_associated_audits
has_many :categorizations
has_many :posts, through: :categorizations, dependent: :destroy
end
有了这个设置,我看到了添加和删除关系的审核。
我正在使用 Associated Audits on a has_many through
relation with Collective Idea's audited gem。我看到正在添加 through
模型的 create
审计,但是删除该关系后我没有看到任何审计。
这是我的 3 个模型。一个Post
可以在多个Categories
.
app/models/post.rb
class Post < ActiveRecord::Base
audited
has_associated_audits
has_many :categorizations, dependent: :destroy
has_many :categories, through: :categorizations
end
app/models/category.rb
class Category < ActiveRecord::Base
audited
has_associated_audits
has_many :categorizations, dependent: :destroy
has_many :posts, through: :categorizations
end
app/models/categorization.rb
class Categorization < ActiveRecord::Base
audited
audited associated_with: :post
audited associated_with: :category
belongs_to :category
belongs_to :post
end
我的 Post
表单有一堆用于分类的复选框:
<%= f.association :categories, as: :check_boxes, collection: Category.order(:name), label_method: :name, value_method: :id, label: false %>
- 当我编辑现有的
Post
并 选中 框Category
时,我 做 看到在审计操作字段中具有create
值的新审计条目。 - 当我编辑现有的
Post
并 取消选中Category
的框时,我 不 查看新的审核条目。 当我删除
Post
时,我确实看到destroy
对Post
和Categorization
auditable_type 字段的审计,所以这方面工作得很好。- audited 可以跟踪那些取消选择吗?如果可以,怎么做?
- 关于我在上述模型中审核的设置,有什么明显的 bad/wrong 吗?没有
has_many through
文档可以遵循,所以我猜了一点。
可能与 this Rails issue 有关,我不得不换掉我的 dependent: :destroy
行:
app/models/post.rb
class Post < ActiveRecord::Base
audited
has_associated_audits
has_many :categorizations
has_many :categories, through: :categorizations, dependent: :destroy
end
app/models/category.rb
class Category < ActiveRecord::Base
audited
has_associated_audits
has_many :categorizations
has_many :posts, through: :categorizations, dependent: :destroy
end
有了这个设置,我看到了添加和删除关系的审核。