我有一个想要获取远程用户的邮件程序类。我访问request.env['REMOTE_USER']
但获取request not defined error
。我以为我能在任何地方使用请求?
undefined local variable or method request
我的邮件
答案 0 :(得分:2)
为什么不尝试在控制器操作中加载远程用户,并在编译邮件时存储数据库或redis
请求强>
如Vimsha所述,问题是您无法访问前置代码之外的request
参数
根据Rails, how do you access the raw request data at the absolute lowest level?,如果您正在处理直接请求(I.E,您的邮件不会延迟等),您可以直接从中间件访问数据
<强>结构强>
除此之外,我还会质疑为什么您直接从邮件程序访问特定于请求的数据
Rails的模块化(DRY)特性意味着您需要能够重复使用尽可能多的资产,这意味着您可能希望在完全不相关的操作中使用邮件程序
我个人将请求数据存储在数据库中(如果你只想临时存储,则重新存储),并按需访问它