我正在对与 Collective Idea 的已审核gem的关系使用Associated Audits 。我看到正在添加的模型的审核,但在删除该关系时我看不到任何审核。has_many through
create
through
这是我的3个模型。APost
可以是多个Categories
.
应用程序/模型/post.rb
class Post < ActiveRecord::Base
audited
has_associated_audits
has_many :categorizations, dependent: :destroy
has_many :categories, through: :categorizations
end
应用程序/模型/category.rb
class Category < ActiveRecord::Base
audited
has_associated_audits
has_many :categorizations, dependent: :destroy
has_many :posts, through: :categorizations
end
应用程序/模型/分类.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
并选中a 的框时Category
,我确实看到了一个新的审计条目,该条目create
在审计的操作字段中具有一个值。 - 当我编辑现有的
Post
并取消选中a 的框时Category
,我看不到新的审核条目。 当我删除 a 时,我确实看到
destroy
了对 thePost
和auditable_type 字段的审核,因此该方面工作得很好。Categorization
Post
- 审计可以跟踪这些取消选择吗?如果是这样,怎么做?
- 我在上述模型中的审核设置有什么明显的坏/错误吗?没有
has_many through
可遵循的文档,所以我猜了一下。