我正在使用名为acts_as_commentable_with_threading
它的 gem 自动创建评论表,其中有这些列,例如commentable_type
、commentable_id
和等。
它被制成多态的,并且工作正常。
我有这三个模型。
- 用户
- 社区
- 话题
他们对每个都有评论。
我想让用户在他的用户页面上删除他的评论或其他人的评论。
(他可以删除他用户页面上的所有评论)
我想使它能够像下面的代码一样进行编码。
但我发现社区页面和主题页面也会发生同样的事情。
即使用户不是评论的原始创建者,如果 Community/Topic 的 ID 与 USER ID 相同,他也可以删除所有评论。
我只喜欢它启用 USER 模型。我该如何定制这个?
模型/能力.rb
can [:create, :destroy], Comment, {:user_id => user.id}
can [:destroy], Comment, {:commentable_id => user.id}