私はRailsを初めて使用し、AndroidデバイスからRailsアプリにアカウントを登録するためのサポートを受けたいと思っています。現在、ユーザー登録にDevisegemを使用しています。deviseのトークンを使用してユーザー認証を機能させることができましたが、携帯電話からアカウントを登録する方法に固執しています。
これまでに2つのアプローチを検討しています。私の最初の試みは、MobileRegistrationsControllerと呼ばれる新しいコントローラーを作成し、次のようなcreateメソッドを使用することでした。
class Api::V1::MobileRegistrationsController < ApplicationController
respond_to :json
def create
@user = User.create!(params[user])
@user.ensure_authentication_token!
respond_to do |format|
format.json { render json: @user }
end
end
end
これが私のルートフォルダです。私はこれについてrailscastチュートリアルに従いました:
namespace :api do
namespace :v1 do
resources :tokens,:only => [:create, :destroy], :defaults => { :format => 'json' }
match 'register' => 'mobile_registrations#create', :via => "post", :defaults => { :format => 'json' }
end
end
ここから、RESTクライアントを使用してPOSTリクエストをに送信しようとすると
localhost:3000/api/v1/register
エラーが発生します
ActionController::RoutingError (uninitialized constant Api::V1::MobileRegistrationsController):
だから私は根本的に間違ったことをしていると思います。私はグーグルで検索しましたが、おそらくDeviseセッションコントローラーをオーバーライドする方が良い方法ですか?誰かがこれを経験したことがありますか、それは役立つかもしれませんか?
ありがとう!
更新:だから私は新しいルートを試しています。これをルートフォルダに追加します
devise_scope :user do
match "api/v1/register" => "devise/registrations#create"
end
これにPOSTリクエストを送信しようとすると。別のエラーが発生します:
WARNING: Can't verify CSRF token authenticity
これは私が以前持っていたものよりも優れていると思います。だから今、私は自分のRails認証トークンを取得する方法を理解する必要があります。