Railsプロジェクトに次の機能を追加する必要があります。
現在の機能:
ProjectUserhasManyProjectsプロジェクトhasManyUsers 。_ _ _ _ _ ユーザーは、基本的な電子メール/パスワードの組み合わせでプロジェクトにサインアップできます。
必要な機能:
ProjectUserは、フォームをプロジェクトに追加できます 。フォームは、サインアップの2番目のステップとしてユーザーに提示されます。ProjectUserは、フォームを追加するときに、事前定義されたフォームアイテムのリストから選択できます。(たとえば、Ageフィールド、Company sizeフィールド、Countryフィールドなど)
宝石
私はGemsを見てきましたが、見つけたものはすべて古くなっています(Pre-rails3)。ですから、私の質問は2つあります。この機能を提供する安定した最新のGemを誰かが推奨できますか?そうでない場合は、どのようにアプローチすればよいですか?
宝石なし
私の現在の考えは、 ProjectUserが各アイテムのチェックボックスを備えたテーブルを使用してフォームに追加できる多くのFormItemを持つフォームモデルを作成することです。これが機能するためには、フォームアイテムが多形である必要があります。これらはすべてフォームアイテムですが、提示/収集する情報の種類が一意です。(テキストフィールド、コンボ、日付ピッカーなど)。ProjectUserが決定を下し、必要なフォームアイテムを選択したら、これらの決定をフォームに保存します。
私が少し不明確な部分は、フォームとユーザーの関係です。ProjectUserは、フォームに含めるフィールドに関する決定をどこかに保存する必要があります。これらの決定を保存するためのフォームモデルがあることは私には理にかなっているので、各プロジェクトには1つのフォームがあり、ユーザーがプロジェクトにサインアップしたい場合は、プロジェクトのデータに基づいてサインアップフォームを作成します。 ■フォームモデル。生成されたフォーム自体は、フォームではなく、ユーザー用のフォームです。モデルであるため、ユーザーがフォームを送信すると、ログインし、フォームデータを使用して新しいユーザーモデルにデータが入力されます。
これはある種の意味がありますか?