我正在尝试向我的会话控制器添加自定义标头:
class SessionsController < Devise::SessionsController
after_filter :allow_origin_header
def create
...
sign_in(resource_name.to_s, resource)
respond_with...
end
private
def allow_origin_header
...
response.headers['some_header'] = 'some_value'
...
end
end
当用户成功登录时,这可以正常工作。但如果没有,则不会添加标题。我猜是因为“sign_in”;它会中断执行流程并从 Devise 返回自定义消息(电子邮件或密码无效)。
然后我创建了将我的标题添加到响应中的中间件,但它也不适用于我。看起来设计围绕所有中间件。
那么,如何为设计的响应添加自定义标头?