Rails5.1.3でWebアプリケーション制作の勉強をしています。入力フォームで新規にcustomerテーブルに登録したレコードを
取り出し、関連付けされたテーブルを作成したいのですが、customerテーブルのレコードを取り出す方法がわからないので
教えていただけないでしょうか?
やりたいことはcustomerテーブルに新規にユーザー登録が成功した場合にpointテーブルを作成したいのです。
この3つのうちのどれかで取り出せるのでしょうか? customer = Customer.find(params[:id]) customer = Customer.find_by(id: (params[:id]) customer = Customer.find_by(id: current_customer.id)
またcustomerテーブルと関連付いたpointテーブルを作成するにはcreateアクションに以下のように記述すればいいのでしょうか?
def create @customer_form = Staff::CustomerForm.new @customer_form.assign_attributes(params[:form]) if @customer_form.save customer = Customer.find(params[:id])-------------登録に成功したcustomerテーブルのレコードを取り出す。 point = customer.build_point-----------------------関連付けられたpointテーブルにレコードを作成。 point.save----------------------------------------pointテーブルに保存する。 flash.notice = '顧客を追加しました。' redirect_to action: 'index' else flash.now.alert = '入力に誤りがあります。' render action: 'new' end end
自分では、if @customer_form.save でcustomerテーブルに保存が成功した場合に
customer = Customer.find(params[:id]) で登録に成功したユーザーのレコードを取り出し
point = customer.build_point でcustomerテーブルに関連付けられたpointテーブルにレコードを作成し
point.save でpointテーブルに保存する。と記述したつもりです。それとも別の方法があるのでしょうか?
どなたか教えていただけないでしょうか?宜しくお願いします。
特に登録に成功したユーザーのレコードを取り出す方法がわからないので教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/20 07:08