我试图在api-mode中的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中添加一个要求或包含来访问它,所以我想知道是否有人遇到过此或有任何想法?
我可能只是格式错误或者路径错误。
答案 0 :(得分:1)
事实证明,来自其他stackoverflow post中间件的ActionDispatch :: ParamsParser实际上并不存在,并且错误的措辞有点令人困惑。
因此,基本上要使其工作,您可以将中间件放在实际的现有中间件之前,或者只使用
config.middleware.use
而不是
config.middleware.insert_before