Turbolinks 3

Ruby 层面:

Controller
    3 个回调方法:设置 X-XHR-Redirected-To,只对 GET 请求有效,某种情况的跨域是不允许的
    (用到了 X-XHR-Referer)
    重写 referer 方法(用到了 X-XHR-Referer )
    更改 redirect_to 计算规则(用到了 X-XHR-Referer )
    重写 redirect_to 方法,某种情况下使用 Turbolinks.visit 代替
    重写 render 方法,某种情况下使用 Turbolinks.replace 代替
    render 和 redirect_to 可以额外处理参数:turbolinks,keep,change,flush
    (各个参数对应功能可以查看文档)
Router
    加上 _turbolinks_redirect_to(用到了 HTTP_X_XHR_REFERER )
View
    加上 X-XHR-Referer

共引入标记
    cookies[:request_method]
    request.headers['X-XHR-Referer']
    request.headers["X-XHR-Referer"]
    session[:_turbolinks_redirect_to]
    response.headers['X-XHR-Redirected-To']
    env['HTTP_X_XHR_REFERER']
    env['rack.session'][:_turbolinks_redirect_to]
    controller.request.headers["X-XHR-Referer"]

JS 层面:

文档:

最后更新于

这有帮助吗?