问题标签 [clearance]

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.

0 投票
2 回答
439 浏览

ruby-on-rails - ForbiddenAttributesError 与清除

我正在使用注册许可,并且除了电子邮件和密码之外还有一些额外的属性,这些属性在注册表单中,包括名字、姓氏、角色和大学,条件是角色是否是员工。

我有三个用户角色:

我的实现有问题,因为注册尝试会导致以下错误:

这行代码突出显示为有问题的行:

我究竟做错了什么?任何帮助将不胜感激。

这是我的整个 app/clearance/users_controller.rb

0 投票
1 回答
646 浏览

ruby-on-rails - X登录尝试失败后如何锁定用户?

我正在使用 Rails 5 和间隙 1.16.0。

当用户尝试登录 4 次时,我想向他们显示一条消息,说他们现在已被锁定

我知道我可以让守卫检查用户是否被锁定并阻止他们登录,但是我如何确定用户登录失败?并使用清除增加失败尝试计数器。

谢谢

0 投票
1 回答
41 浏览

ruby-on-rails - 清关 - 文本和 html 确认电子邮件的不同 URL

我正在使用授权许可,并且遇到了一个问题,即发送给潜在新用户的文本和 html 电子邮件确认具有不同的确认 url - 文本有效,而 html 导致路由错误:

我有什么配置不正确?我怎样才能解决这个问题?

谢谢!

这是两封电子邮件

0 投票
0 回答
121 浏览

ruby-on-rails - ActionView::Template::Error(表单中的第一个参数不能包含 nil 或为空):rails 5

ActionView::Template::Error (First argument in form cannot contain nil or be empty):单击注册链接时出现错误。我创建了一个部分表单,然后在 new.html.erb 文件上呈现它。该错误似乎来自用户控制器。这是代码。

用户/new.html.erb

_form.html.erb

0 投票
2 回答
45 浏览

ruby - 功能:用户更新她的电子邮件地址

是否有一种规范的方法可以在 Clearance gem 之上构建“更新电子邮件”功能?

拼写出来:我希望登录的用户能够访问该站点并更新与她的帐户关联的电子邮件地址。

有很多关于构建“更改密码”功能的信息,但没有关于更改电子邮件的信息。在发明轮子之前,我想确保自己没有遗漏任何东西。

0 投票
0 回答
64 浏览

ruby-on-rails - 向 Clearance 添加其他注册字段

我是 Rails 新手,我正在使用许可 gem 进行身份验证。https://github.com/thoughtbot/clearance

它适用于电子邮件和密码字段。但是我将如何添加额外的字段,例如地址和电话号码。

0 投票
1 回答
692 浏览

ruby-on-rails - 如何在 Rails 5 中使用 Capybara 和 Minitest 测试密码重置邮件

我在 Rails 中使用 Clearance gem 以及 Capybara 和 Minitest,但我不知道如何测试密码重置邮件。我不想测试已经经过良好测试的 Clearance gem,但我想要一个高级集成测试以确保不会破坏预期的用户体验,其中包括邮件程序。

这是我无法完成的测试(/integration/password_reset_test.rb):

您如何实际测试邮件是否正确发送,有没有办法模拟水豚点击电子邮件中的密码重置链接,然后填写表格以重置密码?

我也试过这个,但是这条线失败了,所以我显然没有做对:

我可以通过从服务器日志中获取密码重置电子邮件链接来手动测试,因此该功能可以正常工作。

我可以在网上找到的所有示例都假设您使用的是 Rspec,但对于 Minitest 则没有。我也尝试使用capybara-email gem,但没有 Minitest 示例,我也无法使其正常工作。

供参考: Gemfile test_helper.rb

0 投票
1 回答
414 浏览

ruby-on-rails - 您如何通过 Clearance 和 Pundit 邀请其他用户加入“团队”或“帐户”或“项目”?

我有一个带有 Clearance 和 Pundit 的 Rails 应用程序,我正在尝试创建“团队”,其中“团队负责人”可以邀请其他用户加入他们的团队。我想做一些类似于devise_invitable的事情,但要使用 Clearance。

这是我的计划:

  1. 通过注册表单注册到站点的用户会自动分配一个唯一的团队 ID,并成为“团队负责人”。他们在表单上看不到此 ID。(另一种方法是他们创建一个唯一的团队名称,在注册时保存。)最好的方法是创建一个 before_filter 用于在注册时分配团队 ID 和团队负责人?

  2. 团队 ID 或名称将是唯一的,每个用户只能属于一个团队。关联看起来像这样:

    团队

    用户

    /li>
  3. 创建此“团队负责人”帐户后,此用户可以通过填写类似于 Clearance 注册表单(姓名、电子邮件等)的 User#new 表单来邀请其他用户加入团队。此表单将创建用户和将它们分配给团队负责人的团队。可以为他们分配一个随机密码以提供给Clearance,以便新用户通过验证。

  4. 团队负责人创建用户后,他们将使用随机生成的密码保存在数据库中,并向受邀用户发送类似于标准清除密码重置邮件的邮件。它只是给他们一个通知,他们已被邀请加入团队,并提供一个链接来重置他们的密码,然后登录。它基本上是带有不同副本的 Clearance 密码重置邮件。

这是一个体面的策略,还是我缺少更广泛使用的模式来解决ClearancePundit的这个问题?我从来没有用 Rails 做过这样的事情,所以我不知道这是否是使用Clearance的胶带方式。

0 投票
1 回答
324 浏览

ruby-on-rails - 是否可以使用 Clearance gem 将用户播种到数据库中?

我正在使用 Clearance gem 进行身份验证的 Ruby-on-Rails 项目。有没有办法使用 seed.rb 文件将用户播种到我的数据库中,还是我必须在登录页面上手动创建用户?看起来用户表是用加密密码属性构造的,所以我不确定如何进行播种。

0 投票
0 回答
216 浏览

ruby-on-rails - 使用 Clearance gem 的 Rails API 模式问题?

我已经按照这里的步骤https://github.com/thoughtbot/clearance/wiki/API-Authentication(插入下面)让我的 Rails API 应用程序进行身份验证。

我遇到了几个问题。第一个是那个"cookies" is undefined。所以我把它注释掉了。

现在我得到

我似乎无法解决最后一个问题。BookmakersController显然是我的控制器之一before_action :authenticate_via_token

我正在使用设置了授权标头的 Postman 向我的应用程序发送获取请求。

有什么想法可以解决这个错误吗?