2

コントローラーを名前空間ルート (「API」) に配置してデバイスをオーバーライドしようとしていますが、トークン認証可能な機能を使用する必要があります。2つの質問があります。

まず、params[:api_user] に沿って params[:user] を理解するようにデフォルトで設定する方法を説明します。現在、:api_user キーを使用して、params を配列で送信できます。:user で実行しようとすると、devise は params を認識しません。これはロジックのようです。

次に、次のように sessionsController をオーバーライドすると:

class Api::SessionsController < ::Devise::SessionsController    
     def create
         super
     end
end

作成されたセッションまたはユーザーへの参照を取得して、作成された認証可能なトークンを操作できるようにするにはどうすればよいですか。

私はすでにデバイスのカスタマイズに関する多くのトピックを検索しており、同様の問題を見つけましたが、実際にはこれはありません。

ご協力いただきありがとうございます

4

1 に答える 1

3

最初の質問については、次のようなものを使用できます

  namespace :api, :defaults => { :format => 'json' } do
    devise_for :users, :singular => "user", :controllers => { 
      :sessions => 'devise/sessions',
      :registrations => 'devise/registrations'
    }
  end
于 2012-11-07T21:33:40.473 に答える