gpt4 book ai didi

ruby-on-rails - Devise::TestHelpers 文档不清楚 Devise.mappings[:mapping] 的用法

转载 作者:行者123 更新时间:2023-12-04 11:09:14 27 4
gpt4 key购买 nike

在使用 Devise TestHelpers 的文档中,它声明使用诸如...

@request.env["devise.mapping"] = Devise.mappings[:admin]

或者
@request.env["devise.mapping"] = Devise.mappings[:user]

...让 Devise 知道要使用哪个资源或映射,因为 Controller 测试绕过了 routes.rb。我不清楚这些映射是什么。我在这方面没有设置任何特别的东西,我也没有考虑到具体的映射。我有用户、管理员、炼油厂和 super 用户角色,就像 Rolify,我正在使用 Cancan 来发挥它的能力。

你能澄清一下吗? ...也许资源名称就是我们的意思?

TIA。
-马特

最佳答案

由于在等待答案,我的研究似乎表明文档中指示的映射实际上是指 Devise 所针对的资源。

以下是我的推测,但它似乎有效,并且与我对代码的扫描一致。
例如,如果您只有一个名为 User 的资源,您已使用 Devise 进行身份验证,则只需在 Controller 规范设置中使用以下内容:

@request.env["devise.mapping"] = Devise.mappings[:user]

但是,如果您有多个模型进行身份验证,例如用户和管理员,则需要分别使用以下内容。
@request.env["devise.mapping"] = Devise.mappings[:user]


@request.env["devise.mapping"] = Devise.mappings[:admin]

如果您有更好的意见,请随时更新此问题/答案。

关于ruby-on-rails - Devise::TestHelpers 文档不清楚 Devise.mappings[:mapping] 的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15010997/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com