0

私のサインアップは次のように機能します。

  1. ユーザーがクイズに回答すると、フォームとして送信され、セッションに保存されます
  2. ユーザーは、Facebook または従来のユーザー名/パスワードを使用してサイトに登録します
  3. 登録が成功すると、クイズの結果がユーザーに保持されます

ステップ 1 で別のコントローラー アクションからサインアップを開始し、結果をセッションに保持し、ステップ 3 で結果を保存するためのデバイスの登録後コールバックを作成することを考えました。

これを実装するための最良のアプローチは何ですか? ステップ 2 でセッションが上書きされますか?

4

1 に答える 1

1

あなたのアプローチは正しいです。

クイズの結果を特定のセッション ハッシュに保存する必要session[:quiz]があります。たとえば、ユーザーがデバイス登録を使用してログインに成功したときに上書きされません。

次に、デバイス登録コントローラーをオーバーライドし、クイズの結果をユーザーに追加して、他の情報を追加することができます

class Users::RegistrationsController < Devise::RegistrationsController

  def create
    super
    #find user and set the quiz to persist
  end

end
于 2012-10-28T20:18:34.723 に答える