質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1078閲覧

【Rails】関連テーブルのレコードを更新したい

Hinoarashi.

総合スコア76

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2021/06/21 08:55

編集2021/06/21 09:12

前提・実現したいこと

DBに既存でメールアドレスが登録されているユーザーでも登録を行うことができ、
新しい情報に関してはレコードを更新するということを実現させたいです。

発生している問題・エラーメッセージ

以下がユーザー登録を行なった時に発行されるSQLです。

User Load (1.0ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'example@yahoo.co.jp' LIMIT 1 JobArea Load (1.1ms) SELECT `job_areas`.* FROM `job_areas` WHERE `job_areas`.`id` = 1 LIMIT 1 (0.9ms) BEGIN SQL (1.3ms) UPDATE `users` SET `family_name` = 'あ', `first_name` = 'あ', `birth` = '1968-03-02', `tel` = '00000000000', `confirmed_at` = '2021-06-21 08:36:09', `updated_at` = '2021-06-21 08:36:09' WHERE `users`.`id` = 83

JobArea Load (1.1ms)の部分をSQL (1.3ms) UPDATEに入れてレコードの更新対象に加えたいです。

該当のソースコード

#register_controller if @user.id.present? && @user.valid? @user.save render 'complete' return end
#user.rb belongs_to :job_area
#job_area.rb class JobArea < ApplicationRecord has_many :users, dependent: :nullify end

■DBの情報

Userテーブルにfamily_namefirst_namebirthtelconfirmed_atupdated_atのカラムがあります。
job_areaに関しては1:多(User:job_area)です。

■試したこと
リレーション関係でデータ登録が行えないと思い、accepts_nested_attributes_foruser.rbjob_areaで別々で試してみましたが、解決できませんでした。
どなたか知恵を貸していただけると幸いです。

何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

winterboum

2021/06/21 09:18

ソースが断片過ぎて、どこに問題がありそうかわかりません
Hinoarashi.

2021/06/22 00:27

winterboum 様 自己解決しました。 すいません、ありがとうございます。
guest

回答1

0

自己解決

自己解決しました。
モデルに原因がありました。

投稿2021/06/22 00:28

Hinoarashi.

総合スコア76

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問