HTMLおよびXMLリクエストのDevise処理を無効にして、JSONのみを残すにはどうすればよいですか?
3535 次
3 に答える
8
DeviseControllerをオーバーライドできると思います。
で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"
}
于 2013-05-02T13:51:29.247 に答える
2
clear_respond_to
(HTMLやXMLなど、以前に定義されたすべてのタイプをクリアするために)次にオーバーライドrespond_to :json
コントローラーで...
config / routers.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で動作します!
于 2019-01-26T20:20:59.220 に答える
1
module DeviseOverrides
class SessionsController < Devise::SessionsController
# Respond only to JSON calls
clear_respond_to
respond_to :json
end
end
于 2016-01-26T12:27:00.247 に答える