在我的application_helper.rb
文件中,我有一个这样的函数:
def internal_request?
server_name = request.env['SERVER_NAME']
[plus more code...]
end
控制器、模型和视图中需要此功能。所以,我把这段代码放在lib/
目录中的一个实用函数文件中。但是,这不起作用:我收到有关request
未定义的投诉。
如何访问目录request
中文件中的对象lib/
?
在我的application_helper.rb
文件中,我有一个这样的函数:
def internal_request?
server_name = request.env['SERVER_NAME']
[plus more code...]
end
控制器、模型和视图中需要此功能。所以,我把这段代码放在lib/
目录中的一个实用函数文件中。但是,这不起作用:我收到有关request
未定义的投诉。
如何访问目录request
中文件中的对象lib/
?
在这里似乎可行的最简单的事情是将请求对象传递给方法。
def internal_request?(request)
server_name = request.env['SERVER_NAME']
[plus more code...]
end
假设是当调用此方法时,已发出请求,并且您可以将其传递给该方法。
我正在尝试考虑模型需要直接调用此方法的场景。您似乎更有可能想要检查这是否是控制器中的 internal_request(如果您在视图中需要它,请将其标记为控制器中的 helper_method),然后告诉您的模型它是一个 internal_request。