rails:未定义的局部变量或方法`request'

时间:2014-02-06 22:08:18

标签: ruby-on-rails request

我有一个想要获取远程用户的邮件程序类。我访问request.env['REMOTE_USER']但获取request not defined error。我以为我能在任何地方使用请求?

undefined local variable or method request我的邮件

1 个答案:

答案 0 :(得分:2)

为什么不尝试在控制器操作中加载远程用户,并在编译邮件时存储数据库或redis


请求

如Vimsha所述,问题是您无法访问前置代码之外的request参数

根据Rails, how do you access the raw request data at the absolute lowest level?,如果您正在处理直接请求(I.E,您的邮件不会延迟等),您可以直接从中间件访问数据


<强>结构

除此之外,我还会质疑为什么您直接从邮件程序访问特定于请求的数据

Rails的模块化(DRY)特性意味着您需要能够重复使用尽可能多的资产,这意味着您可能希望在完全不相关的操作中使用邮件程序

我个人将请求数据存储在数据库中(如果你只想临时存储,则重新存储),并按需访问它