如何在Devise处理HTML和XML请求时禁用并仅保留JSON?
答案 0 :(得分:6)
我想你可以覆盖设计控制器:
在controllers/devise_overrides/sessions_controller.rb
:
class DeviseOverrides::SessionsController < Devise::SessionsController
respond_to :json
respond_to :html, only: []
respond_to :xml, only: []
end
在routes.rb
:
devise_for :users, controllers: {
sessions: "devise_overrides/sessions"
}
答案 1 :(得分:1)
module DeviseOverrides
class SessionsController < Devise::SessionsController
# Respond only to JSON calls
clear_respond_to
respond_to :json
end
end
答案 2 :(得分:0)
您必须
config / routes.rb
devise_for :users , controllers:{
sessions: 'users/sessions',
registrations: 'users/registrations'
}
控制器/用户/会话
class Users::SessionsController < Devise::SessionsController
clear_respond_to
respond_to :json
end
控制器/用户/注册
class Users::/RegistrationsController < Devise::RegistrationsController
clear_respond_to
respond_to :json
end
对我来说,它在Rails 5.2中有效!