1

私はhttps://github.com/plataformatec/devise_example.gitをフォローしていますが、これは本当に良いのですが、いくつか追加する必要があり、その方法がわかりません。

iphoneアプリのAPIを作成したいのですが、最初のプロセスはサインアップして新しいユーザーを作成し、アカウントをメールで確認する必要があります。確認すると、ユーザーはログインして名前、メールアドレス、パスワード、言語などの詳細を表示できます。国など...しかし、この例では、ログイン後にアカウント情報を表示できますが、パスワードフィールドは空のままであり、emailとpasswordの2つのフィールドしかありません。また、このデバイスの例をAPIとして使用できるかどうかを知りたいので、言語、国などの残りのフィールドをユーザーアカウント情報に追加する方法を教えてください。そして、これが不可能な場合、どうすればこれらすべてのことを行うことができますか?助けてください。また、例があれば教えてください。

4

1 に答える 1

3

devise で作成したユーザー モデルは、多くの点で他のモデルと同じであるため、マイグレーションで変更できます。コンソールの Rails アプリケーション ルートで次のようにします。

rails g migration AddCountryAndLanguageAndNameAndEmailToUsers country:string language:string name:string email:string
rake db:migrate

もちろん、これらのフィールドを追加するには、ビュー (およびおそらくモデルの attr_accessible 行) を変更する必要があります。

Devise はユーザーのパスワードを保存しません。代わりに、パスワードのハッシュを保存します。ユーザーのパスワードを直接保存することは、一般的に悪い習慣と考えられています。ただし、それに固執している場合は、上記の移行を変更してプレーン テキストのパスワード列を含めない理由はありません。

JSON として使用:

Rablは、JSON テンプレートの優れた gem です。

それ以外の場合は、Users コントローラーで次のようにします。

class UsersController
  def show
    @user = User.find params[:id]
    respond_to do |format|
      format.html
      format.json { render json: @user }
    end
  end

  def index
    @users = User.all
    respond_to do |format|
      format.html
      format.json { render json: @users }
    end
  end
end

などなど…

于 2012-09-14T04:52:30.957 に答える