我正在开发一个网站,该网站(本质上)希望将 aclient_id
传递给应用程序以打开/关闭品牌(取决于 client_id)。
这是我的ApplicationController
helper_method :current_client
before_filter :set_client
def set_client
unless params[:client_id].blank?
session[:client_id] = params[:client_id] unless session[:client_id] == params[:client_id]
else
session[:client_id] = "default_client_id_goes_here"
end
end
def current_client
@current_client ||= Client.find_by_app_id(session[:client_id])
end
这是我的问题:
如果我发送一个依赖于当前会话客户端的 AJAX 请求,它总是默认为假设没有client_id
传入。这也会导致写入问题,link_to
或者因为您必须在整个过程redirect
中跟上参数client_id
应用程序。即使使用 ajax 调用,是否仍然可以继续访问会话变量?
CSRF Ajax 设置:
$.ajaxSetup
beforeSend: (xhr) ->
sid = $("meta[name='csrf-token']").attr "content";
xhr.setRequestHeader "X-CSRF-Token", sid