问题标签 [rolify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 您如何使用 cancan 和设计添加角色 rolify?
我知道关于这个主题有很多问题,但没有人真正回答我正在寻找的内容。
我正在尝试使用 rolify 在 cancan 中定义我的角色,我能够通过 rails 控制台创建管理员角色并为新用户设置默认角色。
我的问题是如何将一批角色设置为不同的值并将这些角色分配给某些用户?
如果你有一个很好的教程来解释这个过程,这也会有所帮助,截屏视频是首选。
谢谢!
ruby-on-rails - 如何让设计与多个模型或角色一起工作?(最好用 CanCan 和 rolify)
使用devise,拥有多个模型或角色的最佳方式是什么?以下是我的应用程序中需要的模型或角色:
用户既可以是作者,也可以是客户。我认为他们可以共享相同的登录表单,因为他们都将使用他们的电子邮件地址登录。
我曾尝试使用CanCan和rolify,但无法弄清楚如何在注册期间添加不同的角色。用户注册为作者时,应赋予“作者”角色,用户按月付费注册时,应赋予“客户”角色。我也不想为角色使用复选框。
有一个名为“作者”的导航链接允许作者注册,然后有一个链接供用户通过付款和计费表格进行注册。根据点击的链接,应该确定给定的角色。我应该在注册期间在 url 中传递一个角色参数"user/sign_up/index?role=customer"
吗?如果是这样,我如何设计在注册过程中使用它?
使用 devise、CanCan 和 rolify,我该如何解决这个问题?我认为拥有一个 User 类然后让 Customer 和 Author 从 User 扩展可能会更好,但是从阅读 StackOverflow 上的许多类似问题来看,rolify 似乎更容易。
我知道我想要做的是非常基本的,我只是还没有弄清楚。我整天都在努力寻找解决方案。
更新: 下面丹尼的回答将我推向了正确的方向,我已经设法通过在 URL“users/sign_up?role=customer”或“users/sign_up?role=author”中传递参数来正确添加角色. 我不知道这是否是最好的方法,但这就是我目前所拥有的。
我的一个问题是我的 has_many 关系现在将如何运作?这是我所拥有的:
has_one :plan 用于客户的订阅计划, has_many :files 用于可以上传许多客户可以下载的文件的作者
问题是我还想跟踪用户的文件下载,所以我想放has_many :downloads
或者可能has_many :files, :through => :downloads
如果我将这些放在 User 模型中,并且知道不允许非客户的作者下载文件并且非作者的客户不能上传文件,这是否重要?
ruby-on-rails - 设计、CanCan、Rolify 找不到表“users_roles”
我一直在按照本指南使用和安装带有 Devise 和 CanCan 的 Rolify。但是,当我尝试使用在控制台中向用户添加角色时,出现user.add_role :admin
以下错误,指出users_roles
找不到表。
这是我的文件:
用户.rb
能力.rb
角色.rb
结尾
是的,我已经使用rake db:migrate
. 我正在使用 rails 4.0.2,那么我该从哪里开始呢?
谢谢!
ruby-on-rails - 在设计 Rails 中编辑“管理员”的链接
我有一个 rails 应用程序,它使用 devise 进行注册并 rolify 用于角色。我想要一个索引页面,其中包含管理员可以访问的每个用户的编辑链接。此编辑页面也应该无需使用密码即可工作。现在 edit_user_path 进入当前用户的编辑页面,这不是我想要的。
实施这种网站的最佳方法是什么?我已经在这里阅读了一些关于此的帖子,但似乎没有一个能给我我想要的东西。
请指出我正确的方向!
已编辑 我正在尝试这样做,但仍然遇到来自 Users_controller 的“当前密码不能为空”:
在我看来,我有一个 edit.html.erb 文件,它呈现以下形式:
最后在我的 routes.rb 文件中,我有这一行来呈现编辑页面。我可以显示编辑页面,但输入信息然后点击更新只会将我射到 /users 并出现错误“当前密码不能为空”
ruby-on-rails-3 - 无法更新角色和条带计划导轨
我正在尝试通过和编辑页面更新我的条带订阅,但它似乎不喜欢我扔给它的任何东西。
这是我的路线.rb
我的订阅控制器:
最后是我的编辑视图:
我正在尝试将新计划发送到控制器以更新本地角色和计划,但似乎无法找到正确的路径来执行此操作。不知道我在这方面做错了什么。
谢谢你的帮助!
ruby-on-rails - 使用 Rolify 使用复选框管理角色
我目前有一个能够通过下面的单选按钮管理角色的部分:
我想更改此设置,以便可以使用复选框添加或删除多个角色。
但这似乎不起作用,这是使用单选按钮时的控制台响应:
以及使用复选框时:
那么为什么不保存到数据库呢?为什么最后我的数组中有一个空位?
ruby-on-rails - Rolify 和 CanCan 的意义何在?
我正在做一个 RoR 项目,我对这个推荐用于我的目的的新 gem 有点困惑,Rolify。据我了解, rolify 与 CanCan 的功能几乎相同,只是它将能力(rolify 的角色)保存到数据库中。但是,在整个 Rolify wiki 上,我看到了有关将 Rolify 与 CanCan 一起使用的说明。
所以基本上,我想知道 Rolify 和 CanCan 有什么区别?我什么时候应该使用一个而不是另一个?
ruby-on-rails - 检查超级管理员角色
我已经使用 ActiveAdmin、Cancan、Devise 和 Rolify 建立了一个基础应用程序。它使用单用户模型(没有单独的管理员/用户)。
到目前为止就像一个魅力,但我正在努力将管理界面的访问权限限制为具有角色“超级管理员”的用户(角色在表“角色”中定义并通过 users_roles 分配)
在我设置的 activeadmin 初始化程序中:
然后我创建了一个名为 admin_ability.rb 的文件:
这是我的应用程序控制器:
我想我在某个地方犯了一个愚蠢的错误(而且我做了太多的复制和粘贴)——可能是在应用程序控制器中?有人可以帮助我并解释我做错了什么吗?
非常感谢!
ruby-on-rails - Cancan it Roolify 能力
我的能力文件有
我的公司控制人索引有
但是,当我以经营公司的用户身份登录时,我无法访问该页面。(即使 Company.with_role(:operator, user) 在控制台中返回一个关系!)
公司有代码。我不知道如何在康康语中写这个:
但是 wiki 说如果我使用块然后 authorize_resource 将不会设置实例变量@codes
,因为它不知道哪些对象属于用户。所以我不能使用:
我正在寻找可以让我的 CodesController 执行以下操作的解决方案:
operator
并以其他方式向用户显示他们拥有角色的所有公司的所有代码。
ruby-on-rails - CanCan 嵌套路由
我的路线中有嵌套在公司下的代码。
资源:公司,除了:[:destroy] 做资源:代码,除了:[:destroy] 结束
能力:
我的 CodesController 检查
如果我访问 /companies/1/codes,我的用户不应该访问,我看不到任何结果。但是,如果我尝试直接查看 /companies/1,我会得到 CanCan AccessDenied。
为什么这不显示在嵌套索引中?