2

私はこの問題に間違った方法で取り組んでいる可能性があります...したがって、よりエレガントな解決策があれば、私はすべての耳です。

Kickstarterのようなシステムを作っていると想像してみてください。サインアップを依頼する前に、ユーザーが誓約したい金額を指定できるようにしたいと思います。

次に、登録されていない場合は、サインインしたばかりのフローに戻す前にサインアップする必要があります。Deviseを使用すると、ユーザーをデフォルトのフローにリダイレクトすることで、これを簡単に行うことができafter_sign_up_path_forますafter_sign_in_path_for。 。

したがって、これは常にGETリクエストを発行します。しかし、POSTから受け取った、彼らが約束したい金額のデータがある場合、それは失われます。

投稿されたデータをセッションに保存するためにこれを行う唯一の方法はありますか?または、ユーザーなしで(孤立した誓約レコードを破棄するためにジョブを実行する必要なしに)誓約レコードの作成を開始する賢い方法はありますか?

4

1 に答える 1

1

この点で、highgroove.com のこのブログ投稿で説明されているアプローチが非常に興味深いことがわかりました 

基本的な考え方は、現在のビジターが登録されていなくても、常に匿名ユーザーを手元に置くことです。このように、通常どおり関連付けなどを作成し、訪問者が実際にサインアップすると、関連付けられたすべてのオブジェクトではなく、ユーザーを編集できます。

ユーザーが登録しない場合は、すべての種類の放棄されたモデルを探すのではなく、単に放棄されたユーザー アカウントを探して、関連付けを含めて削除することができます。

于 2012-11-08T10:26:26.023 に答える