我想在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”。