【发布时间】:2013-06-14 18:06:16
【问题描述】:
环境:Rails 3.2.13 + simple_form 2.1.0 + CanCan 1.6.10 + 等
模型缩略图:Articles 有作者 (Users) 和 Comments。 Comments 是Articles 内的嵌套资源。 Comment 模型包括内容、评论者(当前登录的用户 ID)和文章 ID。
问题:在 Article 上创建新的 Comment 会导致 Article 更新,这是可以理解的。目前,CanCan 的Ability 类是硬连线的,允许该用户更新Article。如果Article 的Comments(以及仅该字段)被更新,我想将其限制为允许更新。我已经在pry 中闲逛了几个小时,试图弄清楚如何判断正在更新的内容,但到目前为止我一直在画一个空白。
模型发布在this Gist 以回应 Michael Szyndel 的问题。
帮助?
【问题讨论】:
-
在评论创建上更新的文章是无法理解的,除非你有计数器缓存。你能包括你的模型协会吗?
-
您的问题不清楚。您是否无法控制关联的自动保存回调并且无法检测到非持久性修改?
-
@crftr,我有(至少)两个相互交织的问题: 1. 我想使用 CanCan 的能力类将文章内容的更新限制为文章的作者,同时允许任何登录用户在该文章上创建 cmets 2。我想了解在 CanCan 中实现该效果是否最实用,或者我是否应该在我的
InheritedResources::Base-派生控制器中做一些不同的事情。
标签: ruby-on-rails ruby-on-rails-3 nested-forms cancan simple-form