我想完全禁用控制器操作的会话,因为我希望这个单一控制器操作(它是对数千个值的自动完成操作,因此速度很重要)非常快
我尝试使用session_off,但它只是将session
变量设置为nil,仍然在数据库中查找用户会话。
是否可以完全禁用Rails::SessionStore
中间件,但仅限于单个控制器操作或URL?
我正在运行rails 3.2.17
。
答案 0 :(得分:1)
答案是:在您自己的Rack中间件中处理此端点,并尽早将其插入堆栈!
只需路由到中间件对象,即可在config / routes.rb中实现此目的:
match 'my_autocomplete_endpoint', to: AutocompleteMiddleware
然后只返回来自中间件的响应,不要上堆。
您可以在config / application.rb的堆栈中将它放在任何位置:
config.middleware.insert_before(SomeOtherMiddleware, AutocompleteMiddleware)
Rails::SessionStore
之前插入它。