cancancan

    1热度

    1回答

    自从昨天我从权威人士(因为这太难了)转到Cancancan(它对我来说更好)之后,我正在制作一个网络应用程序(聊天类的东西)。 我试图做一些简单的工作,如显示所有文章及其选项(显示,编辑,销毁),然后对其设置权限,以便创建此类文章的唯一用户将能够编辑或销毁它。 问题是我不明白它是如何完全实现的。 Google缺乏大量过时的示例和示例。 以下是我有: Ability.rb- 我不知道这是否是正确的,

    3热度

    1回答

    我得到第模型与枚举字段enum status: [:pending, :done]。 这里是我的能力文件 class Ability include CanCan::Ability def initialize(user) user ||= User.new if user.member? can :read, Article.done

    2热度

    2回答

    我已经使用Devise + CanCanCan + rolify Tutorial构建了Ruby On Rails应用程序。 这里是我的Ability型号: class Ability include CanCan::Ability def initialize(user) user ||= User.new # guest user (not logged in)

    0热度

    1回答

    我无法调试一些cancancan代码并寻求一些帮助。 can :update, Message do |m| false end 但奇怪的是cancancan总是返回true,我无法调试issue.Here是一小片的相关cancancan代码 rule.rb def matches_conditions?(action, subject, extra_args)

    0热度

    1回答

    我正在学习Rails,并且我有一个演示应用程序来开发,我在其上安装了Devise和CanCanCan进行身份验证和授权。 我有一些产品,我只是添加了评论功能。 如果我对产品发表评论,它不会允许我创建一个产品,但会出现“您无权访问此页面”的错误,然后将其重定向到我的第一页(landing_page)。尝试删除评论时遇到同样的问题。 (评论已被设置为产品的嵌套资源) 以下是评论查看我使用 <div c

    2热度

    1回答

    我想要管理员用户能够为此帐户创建新用户并阅读,从此帐户更新用户。 can [:create, :read, :update], User, id: account_users_ids 如果account_users_ids不是空数组,则不起作用。 我需要拆分权限得到它的工作 can :create, User can [:read, :update], User, id: account_u

    0热度

    1回答

    用户可以有很多俱乐部。 一个俱乐部可以提示另一个俱乐部。 我该如何防止俱乐部倒闭? (请注意,如果用户想要从事的另一家具乐部,他们可以提示他们自己的另一家具乐部,所以我不能做这个基于用户ID) 我已经尝试了一些变化,但似乎无法使其工作。谢谢你的帮助。 # A club cannot tip itself cannot [:tip], Club, id: id

    0热度

    2回答

    我有一个彻底的ability.rb定义,它的工作正常。然而,当我写的发送请求到端点的控制器规范,康康舞(罐)重复地返回403 在各自的部分我ability.rb处理端点我的测试,输出{Model}.all.to_json它的输出时一个空阵列。 我该如何解决这个问题,以便它可以识别我的测试数据库中的数据,或者改变我的测试绕过这个?

    0热度

    2回答

    我设置cancancan来实现此功能: 如果用户是管理员,它可以销毁除自己以外的每个用户。 这是我ability.rb class Ability include CanCan::Ability def initialize(user) if user.role == 'admin' cannot :destroy, User, id: user.id

    0热度

    1回答

    我已阅读到Cancan和Pundit(也称Devise)来管理Rails应用程序中的用户。但我想知道是否有可能。基本上,我想让用户在表格中更改/添加行(此时使用SQLite,但将来会转移到SQL--称它们为条目)。但是在它被添加到实际表格之前,它会被发送到管理员进行审批。然后,管理员可以点击“批准”并且语句会运行。 我只是混淆了如何持有声明,然后在批准声明时运行。任何信息,将不胜感激。