如何使用伪装者或自己的自定义方法在大礼包(rails)中实现模拟

时间:2019-06-01 04:25:38

标签: ruby-on-rails rubygems spree impersonation

我想在spree(rails)中实现模拟功能,使管理员可以以其他用户身份登录。

我尝试使用伪装的宝石。我认为它(伪装者)会覆盖current_user,但在狂欢中,用户由spree_current_user维护。 我尝试使用以下代码自定义假装宝石的用法。

impersonates :user

尝试了两个代码。

impersonates :spree_user,
             method: :spree_current_user,
             with: ->(id) { User.find_by(id: id) }

第一个代码运行无任何错误,但不会更改用户。 (因为它会覆盖current_user,但spree使用spree_current_user)

第二个代码给出此错误“必须在模拟方法之前定义spree_current_user”。

0 个答案:

没有答案