3

有没有办法禁用 Rails 应用程序的所有 cookie?或者最好在一个控制器一个控制器的基础上?我的问题是关于通过 Adob​​e Lightroom 插件访问 Rails JSON api。显然,服务器响应中存在任何 cookie 数据会导致 Lightroom 出现错误。

4

3 回答 3

4

在要避免使用 cookie 的控制器中,添加以下内容:

after_filter :skip_set_cookies_header

def skip_set_cookies_header
  request.session_options = {}
end

如果您有一组 api 控制器,请将其设置在 api_controller 类中,并让您的其他控制器继承 api_controller。

这会跳过设置 Set-Cookie 标头,因为会话选择为空。

于 2012-12-06T20:43:54.630 回答
1

您可能想要使用ActionController::Metal并添加您可能需要的任何其他模块。

ActionController::Metal非常简单,跳过了典型 ApplicationController 的大部分功能,包括 cookie。

您可以调用ApplicationController.ancestors来了解与ActionController::Metal.ancestors相比通常包含的内容

这是我最有可能设置它的方式。

class SimpleController < ActionController::Metal
 #include ...
 #include ...
end

class FirstApiController < SimpleController
 def index
  #Code 
 end
end 

class SecondApiController < SimpleController
 def index
  #Code 
 end
end 
于 2012-12-07T04:27:48.007 回答
1

如果您使用的是 Apache,您可以使用mod_headers关闭响应中的cookie ,这是一个标准的 apache mod。

Header always unset "Set-Cookie"

于 2011-09-18T08:15:00.453 回答