Отключить Cookies в приложении Rails 3.x - PullRequest
3 голосов
/ 30 августа 2011

Есть ли способ отключить все куки для приложения Rails?Или желательно на контроллере на основе контроллера?Моя проблема касается доступа к API Rails JSON с помощью плагина Adobe Lightroom.Очевидно, что наличие каких-либо данных cookie в ответе с сервера вызывает ошибку в Lightroom.

Ответы [ 3 ]

3 голосов
/ 07 декабря 2012

В контроллере, который вы хотите избежать куки, добавьте это:

after_filter :skip_set_cookies_header

def skip_set_cookies_header
  request.session_options = {}
end

Если у вас есть набор контроллеров api, задайте его в классе api_controller и позвольте другим контроллерам наследовать api_controller.

При этом пропускается настройка заголовка Set-Cookie, поскольку параметры сеанса пусты.

1 голос
/ 07 декабря 2012

Возможно, вы захотите использовать 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 
1 голос
/ 18 сентября 2011

Если вы используете Apache, вы можете отключить куки в ответе, используя mod_headers , который является стандартным модом apache.

...