私は会社のために作成されたツールを持っています。私はテーブルのユーザーを作って、私はユーザー情報のパスワードなどを保存したいと思う。ユーザーがサインアップするとき、私はそれが新しいユーザーと会社への関連を作成したい。ユーザー情報が会社に属している場合、レールが作成されます
私の会社のモデル: にhas_one:ユーザー 私のUserモデル: BELONGS_TO:会社
どのように私は登録コントローラを上書きする必要がありますか?私はここで間違っている場合 Railsは
私は会社のために作成されたツールを持っています。私はテーブルのユーザーを作って、私はユーザー情報のパスワードなどを保存したいと思う。ユーザーがサインアップするとき、私はそれが新しいユーザーと会社への関連を作成したい。ユーザー情報が会社に属している場合、レールが作成されます
私の会社のモデル: にhas_one:ユーザー 私のUserモデル: BELONGS_TO:会社
どのように私は登録コントローラを上書きする必要がありますか?私はここで間違っている場合 Railsは
初心者
敬具は、私を修正しますが、企業がログインされないように聞こえる - 会社に属しているユーザーのみ、。
これを念頭に置いて、Company
ではなく、DeviseモデルとしてUser
が必要です。あなたの団体は、正しいです。次のステップでは、ネストされた属性(ビューのfields_for
;モデルの)を使用してcompany#new
のフォームにユーザーのフィールドを追加します。
オリジナルの質問に答える:ネストされた属性を使用して、サインアップフォームで新しいユーザーを作成できます。 Deviseの登録コントローラーを上書きする必要はありません。ユーザーにfields_for
を含めるように登録フォームを変更するだけです。またUser
モデルのモデルのモデル番号がaccepts_nested_attributes_for
であることを確認してください。
私はあなたのアプリケーションのアーキテクチャに気づいていませんが、has_many
がより適切であるようです。これと同様のケースでは、単一の会社に複数のユーザーを所属させたいと思う可能性が非常に高いです。