cancan相关内容
我有一个 Post 模型,该模型具有:已发布的属性( boolean )和 User 模型,该模型具有 role 属性( string )。有三个角色: ROLES =%w [管理发布者作者] 我不希望用户扮演其角色是作者的人,可以设置,或编辑,即Post模型上的:已发布字段。 我正在使用CanCan(和RailsAdmin gem),简化后的Ability.rb文件如下所示:
..
如何使用active_model_serializers序列化权限?我无法访问模型和序列化程序中的 current_user 或可以吗?方法。 解决方案 首先,要在序列化程序上下文中访问 current_user ,请使用新的作用域功能: class ApplicationController
..
当我这样做时到底发生了什么? @ Patient.course_enrollments.accessible_by(current_ability) 发生的事情是我得到了course_enrollments,其中 course.client_id = user.client.id ,我只是不明白 accessible_by 的工作原理。 #skill.rb 可以:
..
您可以使用 can?从视图或控制器中获得 current_user 的权限: / p> 如何使用以下语法从模型访问此功能: user.can?(:update,@article) 解决方案 在gi
..
我遇到了与该线程中所述完全相同的问题: 仅5条轨道_已删除cancancan#356 我可以访问已删除的记录,如下所示: @area = Area.only_deleted.find(params[:id]) 但是如果我将load_and_authorize_resource添加到控制器中,它将尝试运行如下查询: @area = Area.find(pa
..
我想缓存Post视图,但是该视图取决于当前用户的权限(例如,如果current_user.can?(:edit, @post),我仅显示"edit"链接) 因此,我希望我的缓存键包括当前用户的CanCan能力的表示形式,以便我可以在用户能力发生变化时使缓存无效 SO:我如何获得一个表示当前用户能力的字符串,以便2个具有相同能力的不同用户将生成相同的“能力字符串"? 我已经尝试过u
..
我想为用户模型添加其他属性,并且不想创建单独的Profile模型. 我正在尝试从RESTful操作集中使用标准«update»更新自定义字段: class UsersController
..
据我了解,无论选择哪个会话存储,Rails应用程序都会发送一个数据库查询给Devise,一个数据库查询给Rolify. 这是我的相关代码: ..login buttons...
..
我刚刚按照教程" https://github.com/EppO/rolify/wiki/Tutorial "非常好,并且运行良好.但是我的问题是我们不能在不使用Rails控制台的情况下通过表单添加角色.
..
这是我根据编写的授权代码Railscast#386 . 问题在于,该块可在除user_controller之外的所有控制器上运行.换句话说,任何用户都可以在其他任何用户上触发edit和update动作,即使分配给它的块与偏爱edit和update动作的块相同. def initialize(user) allow :users, [:new, :create, :show]
..
我正在尝试在狂欢特定权限内赋予一些自定义角色. 无法在任何地方找到这个答案 role_ability.rb class RoleAbility include CanCan::Ability def initialize(user) user || User.new # for guest if user.has_role? "admin" can :manage,
..
作为管理员,我有一个特定的角色 我想查看并切换对象 的事件取决于我的角色 灵感来自 activeadmin_addons 及其枚举集成我想通过允许不同的管理员用户根据模型中特定事件/状态的能力/角色来更改事件,来为AASM提供类似的功能。 解决方案 从此处获取,请查看此链接以获取所需的其他文件 先决条件: 宝石:ActiveAdmin, 宝石“
..
我如何在活动的管理员&中使用作用域可以可以。 我有管理员用户&那些与机构 有(has_one)关系,机构有很多配置文件 现在,当管理员用户登录时,我要显示具有相同机构的所有配置文件。 找不到以下链接很有帮助。 http://activeadmin.info/docs/2-resource-customization.html#scoping_the_queries 解决方案
..
在ActiveAdmin 0.6.0中使用CanCan适配器时。我有资源在工作,授权正在工作。但是,当我进入 / admin 的根ActiveAdmin页面时,它将重定向到 / admin 并永远继续下去。 解决方案 如果用户无权访问页面,则ActiveAdmin将重定向到仪表板。如果用户无权访问仪表板,则会导致无限重定向。 解决方案是使用户能够读取仪表板页面。将其放置在能力模型对象
..
在我的Rails应用程序中(我使用devise和cancan),每个(注册)用户完全属于 一个角色(“管理员"或“用户"),但至少属于 一组(例如“家庭",“朋友",“同事").在运行时,创建新文件夹(见下文)时,可以设置与一个或多个组的habtm关系,该关系定义了谁可以访问该文件夹.完全选择 no 组将导致在世界范围内可访问的文件夹(即,无需登录用户即可访问这些文件夹).但是现在,我还不知道如何
..
Rails 4附带了strong_parameters,这是一个很好的补充-但是我遇到了问题.我有一个多态模型Comment,我一生都无法让控制器接受它需要的参数.这是我的代码(为清晰起见,已缩短): 路线: resources :articles do resources :comments end 型号: class Article
..
我正在尝试使用cancan进行分页,但是如何将其与will_paginate之类的宝石集成尚不明确. 理想情况下,cancan的load_resource将委托给will_paginate并添加其他条件.例如,在cancan中,我已经声明了来宾用户 can :read, Post, :published => true ,这由load_resource自动处理.但是,我想在所有这些
..
长期阅读者的首次用户. 我正在整理我的第一个RoR应用程序,并隔离了我的应用程序应使用的所有内容:- 法术 Omniauth CanCan twitter-bootstrap(转换为sass) 和简单表单. 清洁,清晰和简单....不. 在我的一生中,无法将简单的表单(似乎是最简单的任务)与法术“登录"集成在一起,而不会在"remember_me"字段上出错.
..
我添加了一个控制器collaborators来管理Users和Companies之间的特定类型的联接关联.问题是,每当我从collaborators加载任何内容时,都会出现错误 未初始化的常量协作者 据我了解,这是因为没有模型Collaborator,并且我正在使用cancancan进行授权.从旧的cancan(请注意,不是cancancan)文档,我已经能够收集到没有相应模型的控制器
..
我有一个带有状态机的模型,我想将不同的状态/事件/转换限制给不同的用户. 如何使用此模型访问当前用户和功能? 解决方案 您可以针对模型提供的任何方法在cancan中定义能力.状态机转换本身就是模型提供的方法,因此只需像设置其他任何方法一样设置您的能力即可. 例如,给定一个简单的模型: class Order
..