2017-03-17 21 views
6

Đối với ứng dụng của tôi, tôi đang cố gắng thiết lập trình bao bọc di động Turbolinks>. Tôi đang chạy vào một vấn đề mà tôi không thể đăng nhập vào các ứng dụng (và suy nghĩ các vấn đề là tôi cần phải sửa đổi Devise để có được nó để chuyển sang XHR để làm việc cho điện thoại di động). Biểu mẫu sign_in của tôi sử dụng Devise nhưng tôi không thể nhìn thấy mã.Lấy trình bao bọc turbolinks để làm việc với Ruby on Rails 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

Câu hỏi của tôi là nơi để tôi nhìn hoặc những gì tôi cần phải làm gì để sửa đổi đưa ra để có nó có thể gửi các XHR cho turbolinks wrapper thoại di động?

Ngay bây giờ, nó sẽ không đăng nhập và tôi biết (hoặc tôi đang suy nghĩ) Tôi cần để có được DEVISE để chuyển sang XHR nhưng tôi không biết làm thế nào.

Đề xuất về cách thực hiện việc này? Hoặc khuyến nghị về tài liệu tham khảo?

Trả lời

2

Bạn cần cập nhật trình khởi tạo phát sinh của mình để chấp nhận yêu cầu ajax.

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

Có thể bạn sẽ cần phải cập nhật đăng ký và bộ điều khiển phiên để phản hồi với json.

format.json { render json: resource } 
+0

Xin chào Stephen, Xin cảm ơn - Tiền thưởng là tất cả của bạn! Câu hỏi nhanh, tôi đã thêm định dạng ngay tại đây (chỉ cần tạo) - điều đó có ý nghĩa: http://take.ms/pihdd Rất cám ơn câu trả lời. – user2970050

+0

Tải mong muốn không dành riêng cho phản hồi JSON. Cảnh báo đó chỉ cho bạn biết rằng bạn đang tải dữ liệu không được sử dụng. Xem http://guides.rubyonrails.org/active_record_querying.html#eager-loading-multiple-associations – Stephen