2011-01-03 4 views
3

私は会社のために作成されたツールを持っています。私はテーブルのユーザーを作って、私はユーザー情報のパスワードなどを保存したいと思う。ユーザーがサインアップするとき、私はそれが新しいユーザーと会社への関連を作成したい。ユーザー情報が会社に属している場合、レールが作成されます

私の会社のモデル: にhas_one:ユーザー 私のUserモデル: BELONGS_TO:会社

どのように私は登録コントローラを上書きする必要がありますか?私はここで間違っている場合 Railsは

答えて

3

初心者

敬具は、私を修正しますが、企業がログインされないように聞こえる - 会社に属しているユーザーのみ、。

これを念頭に置いて、Companyではなく、DeviseモデルとしてUserが必要です。あなたの団体は、正しいです。次のステップでは、ネストされた属性(ビューのfields_for;モデルの)を使用してcompany#newのフォームにユーザーのフィールドを追加します。

オリジナルの質問に答える:ネストされた属性を使用して、サインアップフォームで新しいユーザーを作成できます。 Deviseの登録コントローラーを上書きする必要はありません。ユーザーにfields_forを含めるように登録フォームを変更するだけです。またUserモデルのモデルのモデル番号がaccepts_nested_attributes_forであることを確認してください。

私はあなたのアプリケーションのアーキテクチャに気づいていませんが、has_manyがより適切であるようです。これと同様のケースでは、単一の会社に複数のユーザーを所属させたいと思う可能性が非常に高いです。

関連する問題