Rails5.1.3でWebアプリケーションプログラミングの勉強中です。
やりたいことは以下のようになります。
1,新規ユーザーがアカウント情報をcustomersテーブルに登録します。
2,customersテーブルのデータを取り出し関連付けされた別のmembersテーブルに新規にレコードを作成し保存させたい。
customersテーブルのカラムにteamというカラムがあります。新規ユーザーはそこに「A」、「B」、「C」のうちどれかを
選んでフォームに打ち込み登録します。
customer = Customer.find_by(id: current_customer.id) team = customer.tema if team == "A" value = current_customer.id + 100 set = customer.build_member(number: value) set.save elsif team == "B" value = current_customer.id + 200 set = customer.build_member(number: value) set.save else value = current_customer.id + 300 set = customer.build_member(number: value) set.save end
このようにコントローラに記述すれば本人がログインした場合はmembersテーブルにレコードは保存されると思いますが、
本人がログインしない限り登録されないと考えています。
この状況で他のメンバーが自分のチームメンバーを表示しても新規の人のデータが登録されていないテーブルを表示してしまうと
思うのでやり方がわからなくて困っています。
新規にユーザーが登録した場合に本人がログインする、しないにかかわらず、membersテーブルに外部キーを設置して
レコードを新規に作るにはどこに、どのように記述すればいいのでしょうか?
これがベストなのですが・・・
customers_controllerのcreateアクションに上記コードを記述すれば新規にユーザー登録したと同時に
membersテーブルにも保存されるのでしょうか?
表現がおかしいかもしれませんが裏側でmembersテーブルにレコードの新規作成をさせたいのです。
新規にユーザー登録したときにmembersテーブルに外部キー(customer_id)に値を入れてテーブルを作りたくて
悩んでいます。どなたか教えていただけないでしょうか?宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。