6

私はルビーとレールを初めて使用しますが、これまでのところ、デバイスを使用してユーザー管理をセットアップできました。現在、モバイル Android および iOS アプリのサポートを統合しようとしています。これまでのところ、ログインしてログアウトし、認証トークンを取得することは可能です。しかし、それに加えて、登録できるようにしてほしいです。

今、私が理解しているように、私は投稿をしなければなりません

http://localhost:3000/users/sign_up

この投稿はどのように見えますか?また、JSON 応答を取得するにはどうすればよいですか? これはstackoverflowで見つけました。

"utf8=✓&authenticity_token=n5vXMnlzrXefnKQEV4SmVM8cFdHDCUxMYWEBMHp9fDw%3D&user[email]=asd%40fasd.org&user[password]=321&user[password_confirmation]=1233&commit=Sign+up"

残念ながら、これは機能しません。「Bad request」というメッセージが表示されます。また、この例についていくつか質問があります。Authenticity_token は何のためのものですか? どうすれば取得できますか? これは、ユーザーがこの時点でそれを取得する立場にさえないため、私が推測するデバイストークン認証ではありません。

また、ログインに成功した後、「登録成功」メッセージと生成されたデバイス認証トークンをバンドルしたいと思います。したがって、devise の既存の登録コントローラーをどうにかして拡張する必要があると思います。

事前にどうもありがとうございました!

4

1 に答える 1

6

Devise には、このすべてのセットアップが既に用意されています。サインアップ パスに基づいて、Devise を にマウントしたと推測されますhttp://localhost:3000/users。Devise には、ログイン フォーム、サインアップ フォーム、メール確認フォーム、パスワード リセット フォームなど、必要なすべてのコントローラーとビューが含まれています。

GEThttp://localhost:3000/users/sign_upは、実際にはユーザーがサインアップするためのフォームです。そのページのフォームは に POST しhttp://localhost:3000/users/、Devise の登録コントローラーの作成アクションに移動します。

にアクション/ビューがまだないと仮定すると/users/sign_up、サインアップ フォームがそこにあるはずです。そこにあるかどうかを確認しdevise_forてください (ファイルに正しく設定されていると仮定しroutes.rbます)。

于 2012-09-07T12:08:53.133 に答える