0

このトピックに関するスレッドが複数あることは知っていますが、それらを読んでも、自分の状況に最適なアプローチをまだ見つけられません。Users モデルがあり、認証に Devise を使用しています。ユーザーモデルに約20列を追加したかなりの数のDeviseモジュールを使用しています。私が考えているのは、約 18 列の別のプロファイル モデルを追加することです。

問題は、サインアップ後、Devise Confirmable モジュールがユーザーを HOME ページにリダイレクトし、確認リンクをメールに送信することです。彼が確認すると、彼のプロファイル情報を表示することになっている User Show ページに移動します。

ユーザーがサイトで何かを行う前に、必ずプロフィール情報を入力してもらいたいです。すべてのプロファイル フィールド (約 18 個) は必須であり、承認の観点から重要であり、彼ができることとできないことを決定します。これについてどうすればよいかわかりませんか?

1) User モデル (これは Users テーブルの 40 列を意味します) を用意して、複数ステップのフォームを作成する必要がありますか? 2) ユーザー モデルとプロファイル モデルを用意する必要がありますか? 3) その場合、ユーザーがアカウントを確認する前または確認した直後に、ユーザーにプロファイル情報を入力させるにはどうすればよいですか? 4) プロファイル コントローラも必要ですか? どこから始めればいいのかわからない!

4

1 に答える 1

2

実際には非常に単純です。ユーザーとプロファイルに異なるモデルを使用できます。ユーザーがプロファイル情報を入力した場合にフラグを立てるためのメカニズムが必要です (のようなものuser.profile.nil?)。ここで必要なのは、ユーザーがプロファイル ページを持っていない場合にプロファイル ページを作成するようにリダイレクトする before filter メソッドを作成することだけです。

于 2012-12-28T08:12:12.353 に答える