让 turbolinks 包装器在 Rails Devise 上与 Ruby 一起工作

Getting turbolinks wrapper to work with Ruby on Rails Devise

对于我的应用程序,我正在尝试设置 Turbolinks Mobile 包装器>。我 运行 遇到无法登录该应用程序的问题(并且认为问题是我需要修改 Devise 以使其切换到 XHR 以在移动设备上工作)。我的 sign_in 表单使用 Devise,但我看不到代码。

Using: ruby "2.4.0" gem "rails", "5.0.2" gem "turbolinks", "~> 5.0.0.beta" gem "devise", ">= 4.2.0" gem "devise-async", git: "https://github.com/mhfs/devise-async", branch: "devise-4.x" # for user authentication

我的问题是我应该去哪里查看或我需要做什么来修改 DEVISE 以使其能够为 turbolinks 移动包装器发送 XHR?

现在,它不会登录,我知道(或者我正在考虑)我需要让 DEVISE 切换到 XHR,但我不知道如何。

关于如何做到这一点的建议?或者推荐参考material?

您需要更新您的设备初始值设定项以接受 ajax 请求。

config.http_authenticatable_on_xhr = false
config.navigational_formats = ["*/*", :html, :json]

您可能需要更新您的注册和会话控制器以响应 json。

format.json { render json: resource }