问题标签 [sorcery]

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 投票
1 回答
64 浏览

ruby-on-rails - 如何用巫术测试

我对魔法有一点问题,
这是我的测试:

这是我的固定装置:

和我的模型:

直到这里当我运行 bundle exec rake test 时测试是绿色的

但是当我添加密码验证时

测试“应该有效”失败

请帮忙?

0 投票
2 回答
159 浏览

ruby-on-rails - 限制用户对巫术的访问

我有一个带有魔法的 Rails 应用程序,
一切正常。
问题是当编辑像这样的用户时:
http://localhost:3000/users/1/edit
它工作正常,但是当我将用户 ID 更改为 2 或 3 ..
我可以更新所有用户数据
我如何限制仅当当前用户是登录用户时才编辑页面

这是我的控制器:

0 投票
1 回答
91 浏览

ruby-on-rails - 水豚+魔法帮手

我目前正在开发一个使用 Sorcery 对用户进行身份验证的项目,并且我使用 capybara 完成了一些集成测试。当我调用current_userlogged_in 时?巫术助手我收到此错误:

但是当我在开发模式下调用它们时,它不会发生。

经过一番研究,我发现问题来自 find_by_id 方法。因此,如果我调用Model.find_by_id(1),我会收到此错误。我很困惑,因为我不明白为什么要调用 page 方法以及在哪里调用。

我通过覆盖我的模型的 find_by_id 方法来修复它,但我完全不同意这样做,所以......

有人知道发生了什么吗?

提前谢谢你们

0 投票
0 回答
533 浏览

ruby-on-rails - 在应用程序中扩展 ActionController::Base

我想以与 Devise 和 Sorcery 之类的插件公开方法相同的方式向我的控制器和视图公开一个current_user方法。事实上,我正在搭载这个功能。然而,我试图为这个魔法猜想正确的语法并没有成功。这是我到目前为止所得到的......

当我尝试current_username从控制器操作或视图调用时,我得到通常的未定义错误:

此方法的目的是特定于应用程序的,我不需要制作插件。我之所以提到这一点,是因为到目前为止我挖掘的参考资料仅从构建 Rails 引擎/插件的角度讨论了这个问题。当然,此时这正是我的代码所做的,但它仍然不起作用。oO

运行 Rails 4.2

更新Rails::Engine:我能够通过上下移动东西来使功能正常工作。

但是我不明白为什么这甚至是必要的。Rails 引擎应该使用这些扩展来初始化ActionController::Base. 我错过了什么?

0 投票
0 回答
479 浏览

ruby-on-rails - 从巫术迁移到设计

我有一个项目,正如标题所暗示的那样,目前在身份验证库巫术上。我想迁移用户数据库来设计,因为客户的开发人员想要使用它。

我知道这两个库都使用类似的加密方法,但不确定步骤。

目前在 Rails 最新版本上。

0 投票
1 回答
36 浏览

ruby-on-rails - Rails 中与魔法宝石的关联错误

我使用 Sorcery 在 Rails 中设置身份验证,我正在尝试创建一个模型,其中用户的用户 ID 链接为对输入数据的模型的引用,但出现错误:

它指的是以下代码:

为了回答我问过自己的基本问题,用户已登录...

0 投票
1 回答
65 浏览

ruby-on-rails - 在 Rails 中使用 Sorcery 从数据库中删除用户记录

当使用 Sorcery 进行身份验证时,如何从生产中的活动 Rails 应用程序中删除用户?用户注册是从一个中心点控制的,因此最好删除数据库中的用户记录。

该应用程序已部署到 Heroku。

0 投票
2 回答
86 浏览

ruby-on-rails - CanCan:用户无法查看自己的内容

我使用 Sorcery 和 Cancan 制作了一个简单的基于角色的身份验证,该数据库包含一个名为 ROLE 的列,在注册用户时可以是管理员或普通用户,

Relato 是一个脚手架,您可以在其中创建“报告”,我希望普通用户只能看到自己创建的那些,也可以做其他事情(更新、销毁)。

我的能力.rb

无需控制保护

在我看来 index.html.erb 它列出了我放的所有“报告”

但它不起作用,用户看不到他的报告,使用管理员帐户一切都很好。

0 投票
1 回答
634 浏览

ruby-on-rails - 在巫术中定义邮件程序

我正在使用巫术构建一个 Rails 应用程序。当我转到 users/new 时,出现一个参数错误,说明“要使用 reset_password 子模块,您必须定义一个邮件程序 (config.reset_password_mailer = YourMailerClass)”

进入 config/initializers/sorcery.rb 并包含代码 user.reset_password_mailer = UserMailer,但我仍然收到错误消息。在 UserMailer 类中,我定义了 reset_password_email 方法

并更新了 sorcery.rb 文件

我仍然收到相同的错误消息。

在用户控制器中:

我的用户模型是:

0 投票
1 回答
32 浏览

ruby-on-rails - 使用巫术登录后无法更新属性

我有一个字段auth_token,我想在每次用户登录时生成一个新令牌。所以我写了这条线(2),但它不起作用。用户登录成功,但该字段auth_token未更新。

有人可以解释一下吗?

PS我用Sorcery宝石