ruby-on-rails – 机架和rack.request.form_vars / rack.request
发布时间:2020-12-17 03:52:15 所属栏目:百科 来源:网络整理
导读:我正在做一些中间件,它会在它到达Rails之前更改authenticity_token参数. 我可以看到env.inspect同时提供了rack.request.form_vars和rack.request.form_hash.两者都包含真实性令牌. Rails使用哪一个,为什么Rack同时提供? 解决方法 让我们来看看源头!这两个
我正在做一些中间件,它会在它到达Rails之前更改authenticity_token参数.
我可以看到env.inspect同时提供了rack.request.form_vars和rack.request.form_hash.两者都包含真实性令牌. Rails使用哪一个,为什么Rack同时提供? 解决方法
让我们来看看源头!这两个变量来自使用
Rack::Request 辅助类.它为请求参数提供了一个很好的接口. Rack应用程序不必使用它,但Rails确实使用它.
变量适用于Rack :: Request的内部使用. rack.request.form_vars包含未解析的POST主体,rack.request.form_hash包含已解析的哈希. ActionDispatch :: Request继承自Rack :: Request,它使用Rack :: Request#POST获取参数,后者读取后一个变量.您可以自己使用Rack :: Request来修改它. class YourMiddleware def initialize(app) @app = app end def call(env) req = Rack::Request.new(env) req.POST["authenticity_token"] = "foo" end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ios – 无法将主要的快捷类导入测试目标?
- c# – 如何将ConfigurationManager.AppSettings与自定义部分
- 加载ajax内容到页面后的样式重新渲染需$().listview('r
- react native navigator禁用滑动返回
- objective-c – 如何使我的图像可点击
- ruby-on-rails – Rails的concat方法和带有do … end的块不
- SGU 194 Reactor Cooling 无源汇带上下界可行流
- postgresql – PL / pgSQL中的EXECUTE … USING语句不适用于
- 从oracle获取函数和过程签名列表
- 设计模式之依赖倒转原则学习