首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Rails内部设置rack环境变量

如何从Rails内部设置rack环境变量
EN

Stack Overflow用户
提问于 2015-07-08 20:34:32
回答 1查看 958关注 0票数 0

rack-cache gem依赖@env['rack.errors']设置来记录错误消息:

代码语言:javascript
复制
    78:       # write log message to rack.errors
    79:       if verbose?
    80:         binding.pry
    81:         message = "cache: [%s %s] %s\n" %
    82:           [@request.request_method, @request.fullpath, trace]
 => 83:         @env['rack.errors'].write(message)
    84:       end

它当前设置为@env['rack.errors'] #⇒ #<IO:<STDERR>>

我需要将其更改为使用Rails.logger。最明显的机会就是侵入rack-cache初始化器RAILS_CACHE.logger = ...。我想知道是否有一种从Rails访问rack环境的通用方法,比如(伪代码):

代码语言:javascript
复制
Rails.RACK_ENV['rack.errors'] = Rails.logger
EN

回答 1

Stack Overflow用户

发布于 2015-07-08 20:55:25

Rack环境只能在请求的上下文中访问,因此在控制器或视图中。

要访问您可以使用的环境

代码语言:javascript
复制
request.env['whatever']

修改Rack环境时要小心,因为Rails堆栈的其他部分可能会依赖它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31292841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档