【问题标题】:How to create a custom middleware while using rails 5 in api-mode?在 api 模式下使用 rails 5 时如何创建自定义中间件?
【发布时间】:2017-07-05 22:56:23
【问题描述】:

我正在尝试在 api 模式下的 rails 5 中创建一个自定义中间件,其中仅适用于不以 /api/... 开头的路由,它将添加回

middleware.use ActionDispatch::Cookies
middleware.use ActionDispatch::Cookies::Session

这篇文章展示了如何在 rails 4 中做到这一点: OmniAuth::NoSessionError - You must provide a session to use OmniAuth. (configured in devise)

我正在尝试创建一个像上面帖子中接受的答案一样的中间件,但是在添加

config.middleware.insert_before ActionDispatch::ParamsParser, "SelectiveStack"

到 application.rb 它会抛出一个错误,说它找不到 SelectiveStack。

它也不允许我在 application.rb 中添加要求或包含来访问它,所以我想知道是否有人遇到过这个或有任何想法?

我可能只是格式错误或路径错误。

【问题讨论】:

    标签: api ruby-on-rails-5 middleware rails-admin


    【解决方案1】:

    事实证明,来自其他 stackoverflow 后中间件的 ActionDispatch::ParamsParser 实际上并不存在,而且错误的措辞有点混乱。

    所以基本上要让它工作,你可以将你的中间件放在实际现有的中间件之前,或者只使用

    config.middleware.use 
    

    而不是

    config.middleware.insert_before
    

    【讨论】:

      猜你喜欢
      • 2019-11-30
      • 2017-09-05
      • 1970-01-01
      • 2019-09-21
      • 2020-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多