2013-08-08 13 views
6

Tôi đang tích hợp ứng dụng ios với máy chủ đường ray. Ở đây, tôi đã triển khai xác thực xác thực. khi một người mới được đăng ký từ ứng dụng của tôi, tôi nhận được lỗi sau trong nhật ký của tôiĐã hoàn thành 406 Không được chấp nhận trong việc phát minh

Processing by Devise::RegistrationsController#create as JSON 
Parameters: {"password_confirmation"=>"[FILTERED]", "email"=>"[email protected]", "password"=>"[FILTERED]", "registration"=>{"password_confirmation"=>"[FILTERED]", "email"=>"[email protected]", "password"=>"[FILTERED]"}} 
WARNING: Can't verify CSRF token authenticity 
(0.1ms) begin transaction 
(0.0ms) rollback transaction 
Completed 406 Not Acceptable in 28ms (ActiveRecord: 0.7ms) 
+0

Bất kỳ của những người giúp đỡ? http://stackoverflow.com/questions/7203304/warning-cant-verify-csrf-token-authenticity-rails, http://stackoverflow.com/questions/9362910/rails-warning-cant-verify-csrf-token- xác thực-cho-json-devise-yêu cầu – CBroe

Trả lời

10

lập mưu ứng phó với json theo mặc định đã bị xóa khỏi phiên bản 2.2, Vì vậy, thêm

respond_to :json 

trong bộ điều khiển ứng dụng của bạn hoặc bộ điều khiển cụ thể mà bạn muốn trả lời bằng json.

2

Để không cho phép json chấp nhận cho tất cả các bộ điều khiển, nhưng chỉ cho devise thêm

config.to_prepare do 
    DeviseController.respond_to :html, :json 
end 

chỉ để config/application.rb theo khuyến cáo đây https://github.com/plataformatec/devise/issues/2209