0

多個用戶模型(User,Admin和Master)與devise_token_auth的組合在使用非「用戶」模型(Admin和Master)登錄時沒有成功設置響應頭(uid,令牌等);然而,用戶模型的作品。解決使用devise_token_auth和active_model_serializers發佈多個用戶模型的問題?

原因看起來是active_model_serializers/lib/action_controller/serialization.rb中的默認serialization_scope(:current_user):18。

有沒有辦法設置serialization_scope,還是我需要重寫控制器?

環境:

  • 的Rails 4.2.6
  • AMS 10.3
  • devise_token_auth 1.38

回答

2

我目前的工作是周圍設置範圍,像下面被覆蓋的控制器。這感覺脆弱,但它的作品

class Overrides::Master::SessionsController < DeviseTokenAuth::SessionsController 

    protected 
    def render_create_success 
     render json: { 
     data: resource_data(resource_json: @resource.token_validation_response) 
     }, scope: :current_master 
    end 
end