class Ability include CanCan::Ability #... def superuser_rules can :access,:items cannot :update,:items can :update,:items,:foo_attributes endend
我有一个表单只通过显示foo_attributes嵌套表单来镜像它.
但是,在提交表单时,它表示拒绝访问以更新项目.
有没有办法绕过这个而不添加新的路线/行动?
非常感谢 !
解决方法 您可以创建新 *** 作来处理这些“特殊属性”.首先,您可以清除参数的特殊属性.
class UserController before_filter :only => [:create,:update] { params[:user].delete(:accepted_at) }end
然后,您创建一个特殊 *** 作来更改特殊属性:
def accept User.find(params[:user_ID]).update_attributes :accepted_at => Time.Nowend
现在,您可以为创建,更新和接受 *** 作设置不同的权限.
class Ability include CanCan::Ability def initialize(user) if user && user.admin? can :accept,User elsif user can :update,User end can :create,User endend
Take a look at this too
总结以上是内存溢出为你收集整理的ruby-on-rails – Cancan 2.0 – 限制字段的权限全部内容,希望文章能够帮你解决ruby-on-rails – Cancan 2.0 – 限制字段的权限所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)