2012-03-22 8 views
0

私は現在、RailsアプリケーションとのインタフェースとなるAndroidアプリケーションを開発中です。このRailsアプリケーションは、ユーザー認証にDeviseを使用しています。AndroidフォームからDeviseユーザー登録を行うにはどうすればよいですか?

今はAndroid側からのユーザー登録を許可する方法が残っています。私はRailsアプリケーション(ユーザー名、パスワード、電子メール)にキーと値のペアを送信するAndroidのビュー/フォームを持っていますが、そこから物事を処理する方法がわかりません。

HTMLを表示せずにユーザーを登録したいと考えています。私はちょうど成功メッセージを持っているか、私に検証エラーを与えるAndroidアプリケーションへの応答をしたい。

私の最初の考えは、Android登録フォームからのPOSTデータにアクセスできる独自の登録コントローラを作成し、このデータを使用して私がDeviseと対話することでした。そして私の登録コントローラーは何らかの応答(おそらくXML?)を返すだろう。

私はこれについてどのように進むことができるのですか?

+0

私はレールの専門家でありませんが、あなたは、標準のWebサービスを必要とするように聞こえます、ユーザーの詳細を取り込み、処理して、アプリケーションに返信します。これは標準的なHTTPレスポンスです.HTMLクラスのexecute()メソッドからこの情報をAndroidクライアントから取得できます。 – Mimminito

答えて

0

私はこれを理解しました。

私がした主な2つのことは、Deviseルートをカスタマイズしてカスタム登録コントローラを作成することでした。ここで

がルートである:次に

devise_for :users, :controllers => { :registrations => "registrations" } 

、これは、カスタム登録コントローラは、次のようになります。

class RegistrationsController < Devise::RegistrationsController 

    skip_before_filter :verify_authenticity_token, :only => :create 

    def create 

    respond_to do |format| 

     format.html { super } 

     format.xml { 

     build_resource 

     if resource.save 

      # custom code.... 

      render :status => 200, :xml => "<XmlResponse />" 

     else 

      # handle invalidation... 

      render :status => 207, :xml => "<XmlResponse />" 

     end 

     } 

    end 

    end 

end 
関連する問題