Ruby on rails 如何将变量添加到全局范围?(ruby on rails)
因此,我尝试进行一些单元测试,在运行测试时,我的Ruby on rails 如何将变量添加到全局范围?(ruby on rails),ruby-on-rails,ruby,Ruby On Rails,Ruby,因此,我尝试进行一些单元测试,在运行测试时,我的current\u account\u permissions变量未定义。(在服务器运行时工作正常) 它与当前用户类似,除了测试之外,它在任何地方都可用 有没有办法将变量添加到全局范围 可能类似于ENV[“current\u account\u permissions”]=无论什么,但不必使用ENV[]符号来检索变量?我在这里假设,但如果没有任何代码,很难判断,current\u account\u permissions以某种方式混合在应用程序控
current\u account\u permissions
变量未定义。(在服务器运行时工作正常)
它与当前用户类似,除了测试之外,它在任何地方都可用
有没有办法将变量添加到全局范围
可能类似于
ENV[“current\u account\u permissions”]=无论什么
,但不必使用ENV[]
符号来检索变量?我在这里假设,但如果没有任何代码,很难判断,current\u account\u permissions
以某种方式混合在应用程序控制器中
我还假设,当前帐户权限
是一种方法,它应该执行以下操作
def current_account_permissions
@current_account_permissions ||= current_user.get_current_account_permissions
end
因此,如果是这样的话,所有的控制器测试都可以正常运行。然而,在您的视图测试中,您将不得不存根当前帐户权限,因为测试时没有控制器上下文
希望这能有所帮助。我在这里假设,但是如果没有任何代码,很难说,当前帐户权限
以某种方式混入了应用程序控制器
我还假设,当前帐户权限
是一种方法,它应该执行以下操作
def current_account_permissions
@current_account_permissions ||= current_user.get_current_account_permissions
end
因此,如果是这样的话,所有的控制器测试都可以正常运行。然而,在您的视图测试中,您将不得不存根当前帐户权限,因为测试时没有控制器上下文
希望这有帮助。当前帐户权限的定义在哪里?定义<代码> Global :)我猜这意味着它在所有的控制器中都是已知的。引用NahanvdAd所说的,这意味着全局变量很可能不是正确的解决方案。考虑“NaNaVDA”是的,它在所有的控制器/助手/视图中都是可用的。它是在lib中定义的,其中定义了当前用户和当前帐户。current\u account\u permissions
在哪里定义的?定义<代码> Global :)我猜这意味着它在所有的控制器中都是已知的。引用NahanvdAd所说的,这意味着全局变量很可能不是正确的解决方案。考虑“NaNaVDA”是的,它在所有的控制器/助手/视图中都是可用的。它在lib中定义,其中定义了当前用户和当前帐户。